C++ primer 5th 習題之10.13

partition函數

1.接受一個謂詞,對容器進行劃分,使得謂詞爲true的值排在容器的前半部分,而使謂詞爲false的值排在後半部分;

2.返回指向最後一個使謂詞爲true的元素的下一個位置;

3.此函數是按照某種規則對元素進行排序,前兩個迭代器參數不能是const。


#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;


bool size_com(const string& s)
{
string::size_type s0 = 5;
return s.size() >= s0;
}


int main()
{
vector<string> word{ "the","quick","red","fox","jumps","over","the","slow","red","turtle" };
auto it = partition(word.begin(), word.end(), size_com);
for (auto iter = word.cbegin(); iter != it; ++iter)
{
cout << *iter << " ";
}
cout << endl;


system("pause");
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章