常用STL算法3_排序
阅读量:4049 次
发布时间:2019-05-25
本文共 2630 字,大约阅读时间需要 8 分钟。
#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include #include #include //输出流#include using namespace std;template void printElem(T &t){ T::iterator it; for (it = t.begin(); it != t.end(); it++) { cout<<*it<<" "; } cout<
vecIntA; vecIntA.push_back(1); vecIntA.push_back(3); vecIntA.push_back(5); vector
vecIntB; vecIntB.push_back(2); vecIntB.push_back(4); vecIntB.push_back(6); vecIntB.push_back(8); vector
vecIntC; vecIntC.resize(vecIntA.size()+vecIntB.size()); /* _OutIt merge(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest) { // copy merging ranges, both using operator< _DEBUG_ORDER(_First1, _Last1); _DEBUG_ORDER(_First2, _Last2); _DEBUG_POINTER(_Dest); return (_Merge1(_Unchecked(_First1), _Unchecked(_Last1), _Unchecked(_First2), _Unchecked(_Last2), _Dest, _Is_checked(_Dest))); } */ merge(vecIntA.begin(), vecIntA.end(), vecIntB.begin(), vecIntB.end(), vecIntC.begin()); printElem(vecIntC);}//学生类class CStudent{public: CStudent(int iID, string strName) { m_iID=iID; m_strName=strName; }public: void printElem() { cout<<"Name:"<
<<" ID:"< vecStu; vecStu.push_back(CStudent(2,"老二")); vecStu.push_back(CStudent(1,"老大")); vecStu.push_back(CStudent(3,"老三")); vecStu.push_back(CStudent(4,"老四")); /* void sort(_RanIt _First, _RanIt _Last, _Pr _Pred) { // order [_First, _Last), using _Pred _DEBUG_RANGE(_First, _Last); _DEBUG_POINTER(_Pred); _Sort(_Unchecked(_First), _Unchecked(_Last), _Last - _First, _Pred); } */ sort(vecStu.begin(),vecStu.end(),Compare); for (vector ::iterator it = vecStu.begin(); it != vecStu.end(); it++) { it->printElem(); cout< vecInt; vecInt.push_back(1); vecInt.push_back(3); vecInt.push_back(5); vecInt.push_back(7); vecInt.push_back(9); /* void random_shuffle(_RanIt _First, _RanIt _Last) { // shuffle [_First, _Last) using rand() _Rand_urng_from_func _Func; _STD shuffle(_First, _Last, _Func); } */ random_shuffle(vecInt.begin(), vecInt.end()); //随机排序,结果比如:9,7,1,5,3 printElem(vecInt); string str("itcastitcast"); random_shuffle(str.begin(), str.end()); //随机排序,结果比如:" itstcasticat " cout<
< vecInt; vecInt.push_back(1); vecInt.push_back(3); vecInt.push_back(5); vecInt.push_back(7); vecInt.push_back(9); /* void reverse(_BidIt _First, _BidIt _Last) { // reverse elements in [_First, _Last) _DEBUG_RANGE(_First, _Last); _Reverse(_Unchecked(_First), _Unchecked(_Last), _Iter_cat(_First)); } */ reverse(vecInt.begin(), vecInt.end()); //{9,7,5,3,1} printElem(vecInt);}int main(){ //main081_merge(); //main082_sort(); //main083_random_shuffle(); main084_reverse(); cout<<"\nhello"<