partial_sort

来源:互联网 发布:伴奏降调软件 编辑:程序博客网 时间:2024/05/21 08:50
 
// partial_sort.cpp -- 2011-10-03-11.56#include "stdafx.h"#include <iostream>#include <algorithm>#include <vector>#include <functional>using std ::vector ;using std ::greater ;template<class T>class Print{public:void operator () (const T & t) const{std ::cout << t << " " ;}} ;int _tmain(int argc, _TCHAR* argv[]){int arr1[] = {5, 8, 4, 7, 9, 6, 3, 4, 2, 1} ;vector<int> vec1(arr1, arr1 + sizeof arr1 / sizeof (int)) ;//partial_sort (beg, mid, end) ;//操作前:[beg,end)标示输入序列.mid指向一个迭代器.mid - beg指出待排序元素的个数.//操作后:选出输入序列中最小的mid - beg个元素,并将这些元素放在输入序列的前//mid - beg个位置.未排序的元素之间的次序是未指定的.//返回值:无.//备注:mid超出end将抛出异常.partial_sort(vec1.begin(), vec1.begin() + 5, vec1.end()) ;for_each(vec1.begin(), vec1.end(), Print<int> ()) ;std ::cout << std ::endl ;int arr2[] = {5, 8, 4, 7, 9, 6, 3, 4, 2, 1} ;vector<int> vec2(arr2, arr2 + sizeof arr2 / sizeof (int)) ;//partial_sort (beg, mid, end, greater<int> ()) ;//操作前:[beg,end)标示输入序列.mid指向一个迭代器.mid - beg指出待排序元素的个数.greater<int> ()是二元函数对象.//操作后:选出输入序列中最大的mid - beg个元素,并将这些元素放在输入序列的前//mid - beg个位置.未排序的元素之间的次序是未指定的.//返回值:无.//备注:mid超出end将抛出异常.partial_sort(vec2.begin(), vec2.begin() + 5, vec2.end(), greater<int> ()) ;for_each(vec2.begin(), vec2.end(), Print<int> ()) ;std ::cin.get() ;return 0 ;}
原创粉丝点击