排序算法nth_element()和partition()
2016-03-14 21:03
232 查看
#include <iostream> #include <algorithm> #include <deque> #include <iterator> #include <functional> using namespace std; int main() { deque<int> ideq; 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; nth_element(ideq.begin(), ideq.begin() + 3, ideq.end());// nth_element 根据第n个元素进行排序, for (deque<int>::iterator iter = ideq.begin(); iter != ideq.begin()+4; ++iter) cout << *iter << ' '; cout << endl; deque<int>::iterator pos; pos = partition(ideq.begin(), ideq.end(), bind2nd(less_equal<int>(), 3));//partition是分区算法,在这里找小于等于3的数, for (deque<int>::iterator iter = ideq.begin(); iter != pos; ++iter) cout << *iter << ' '; cout << endl; return 0; }
相关文章推荐
- HDU4046 Panda(线段树)
- 1708 Fibonacci String
- 复杂网络中聚类算法总结
- ps学习笔记
- VOIP学习笔记
- Mysql优化(三)sql语句优化
- 2016.3.14__CSS 定位__第六天
- 适配器模式
- HTML学习有感
- UVA 294 求约数的个数
- iOS 简单架构及运行流程
- Ubuntu14.04安装sybylx1.1
- Git基础操作
- LeetCode 136 single number
- 微信第三方登陆
- 我所理解的interface与class
- 蘑菇街2016研发工程师_回文串
- 2015级C++第3周实践项目
- Python自然语言处理-系列一
- 地理数据库本身不能加密