STL_算法(29)_根据第n个元素排序

来源:互联网 发布:网络黑分提现 编辑:程序博客网 时间:2024/06/06 08:44

nth_element(b, n, e)

nth_element(b, n, e,p)

对比:partion()算法



#include<iostream>#include<algorithm>#include<deque>#include<iterator>#include<functional>using namespace std;int main(){deque<int> ideq;for(int i = 3; i <= 7; i++)ideq.push_back(i);for(int i = 2; i <= 6; 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;nth_element(ideq.begin(), ideq.end()+ 3, ideq.end());// 默认是小到大copy(ideq.begin(), ideq.begin() + 4, ostream_iterator<int>(cout, " "));cout<<endl;nth_element(ideq.begin(), ideq.end() - 4, ideq.end());copy(ideq.end() - 4, ideq.end(), ostream_iterator<int>(cout, " "));cout<<endl;// 加 一个函数对象nth_element(ideq.begin(), ideq.begin() + 3, ideq.end(), greater<int>());// 从小到大排序copy(ideq.begin(), ideq.begin() + 4, ostream_iterator<int>(cout, " "));cout<<endl;//return 0;}








0 0
原创粉丝点击