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");
}