partition

来源:互联网 发布:伴奏降调软件 编辑:程序博客网 时间:2024/05/21 22:34
 
// partition.cpp -- 2011-10-02-22.26#include "stdafx.h"#include <iostream>#include <algorithm>#include <vector>#include <functional>using std ::vector ;using std ::less ;int _tmain(int argc, _TCHAR* argv[]){int arr1[] = {1, 2, 3, 4, 5, 1, 8, 9} ;vector<int> vec1(arr1, arr1 + sizeof arr1 / sizeof (int)) ;//partition (beg, end, unaryPred) ;//操作前:[beg,end)标示输入序列.unaryP是一元函数对象.//操作后:使用unaryPred划分输入序列.使unaryPred返回true的元素放在序列的开头.//使unaryPred为假的元素放在序列末尾.//返回值:返回一个迭代器,该迭代器指向使unaryPred为真的最后元素的下一个位置.//备注:此划分算法为不稳定算法.vector<int> ::iterator resultIter = partition(vec1.begin(), vec1.end(), bind2nd(less<int> (), 4)) ;std ::cout << *resultIter << std ::endl ;vector<int> ::iterator beg = vec1.begin() ;while (beg != resultIter){std ::cout << *beg << " " ;++beg ;}std ::cout << std ::endl ;while (beg != vec1.end()){std ::cout << *beg << " " ;++beg ;}std ::cin.get() ;return 0 ;}
原创粉丝点击