局部排序

来源:互联网 发布:数据恢复精灵好用吗 编辑:程序博客网 时间:2024/05/16 16:11
#include <iostream>#include <algorithm>#include <deque>#include <functional>#include <vector>#include <iterator>using namespace std;//bool lessLength(const string& s1, const string& s2)//{//return s1.length() < s2.length();//}int main(){deque<int> ideq;vector<int> ivec2(6);vector<int> ivec3(40);for (int i = 4; i <= 8; ++i)ideq.push_back(i);for (int i = 3; i <= 7; ++i)ideq.push_back(i);for (int i = 1; i <= 5; ++i)ideq.push_back(i);for (deque<int>::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)cout << *iter << ' ';cout << endl;partial_sort(ideq.begin(), ideq.begin() + 5, ideq.end());  // partial_sort 是局部排序,for (deque<int>::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)cout << *iter << ' ';cout << endl;partial_sort(ideq.begin(), ideq.begin() + 5, ideq.end(),greater<int>());  // partial_sort 是局部排序,这个使用谓词从大到小排序,for (deque<int>::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)cout << *iter << ' ';cout << endl;cout << endl;partial_sort_copy(ideq.begin(), ideq.end(), ivec2.begin(), ivec2.end());//partial_sort_copy是copy之后再局部排序,copy(ivec2.begin(), ivec2.end(), ostream_iterator<int>(cout, " "));cout << endl;partial_sort_copy(ideq.begin(), ideq.end(), ivec3.begin(), ivec3.end()); // copy的数据不够就用0去添加,copy(ivec3.begin(), ivec3.end(), ostream_iterator<int>(cout, " "));cout << endl;vector<int>::iterator pos;pos = partial_sort_copy(ideq.begin(), ideq.end(), ivec3.begin(), ivec3.end(),greater<int>());copy(ivec3.begin(), pos, ostream_iterator<int>(cout, " "));cout << endl;return 0;}

0 0
原创粉丝点击