STL算法-归并和最大最小值算法

来源:互联网 发布:游戏锁定方框软件 编辑:程序博客网 时间:2024/05/21 04:24
/*    *   @ merge    *   @ 将两个排序好的的集合归并,并保持排序顺序    *   @    */    vector<int> vecOne = { 32,26,54,78,92 };    vector<int> vecTwo = { 26,48,4,25,36 };    vector<int> vecRes(vecOne.size() + vecTwo.size());    sort(vecOne.begin(), vecOne.end());    sort(vecTwo.begin(), vecTwo.end());    merge(vecOne.begin(), vecOne.end(), vecTwo.begin(), vecTwo.end(), vecRes.begin());    for_each(vecRes.begin(), vecRes.end(), [](int i) {cout << i << " "; });    cout << endl;    /*  @ 最大值和最小值比较算法    *   @----------------不支持迭代器----------------    *   @ max()     返回对个数中的最大值的常引用    *   @ min()     返回多个数中的最小值的常引用    *   @ minMax()  返回一个pair fist存放最小值,second存放最大值    *   @ --------------支持迭代器------------------    *   @ min_element() 返回集合中的最小值    *   @ max_element() 返回集合中的最大值    *   @ minmax_element()  返回一个pair fist存放最小值迭代器,second存放最大值迭代器    */    cout << max({ 15, 20, 31, 12, 5, 6, 8, 9 })<<endl;    cout << min({ 15, 20, 31, 12, 5, 6, 8, 9 })<<endl;    pair<int, int> res = minmax({ 15, 20, 31, 12, 5, 6, 8, 9 });    cout << "Min is " << res.first << endl;    cout << "Max is " << res.second << endl;    vector<int> vecTemp = { 15, 20, 31, 12, 5, 6, 8, 9 };    auto result = max_element(vecTemp.cbegin(), vecTemp.cend());    cout <<"Max : "<<*result  << endl;    cout <<"Min : " <<*min_element(vecTemp.cbegin(), vecTemp.cend()) << endl;    auto res1 = minmax_element(vecTemp.cbegin(), vecTemp.cend());    cout << "Min is " << res.first << endl;    cout << "Max is " << res.second << endl;
原创粉丝点击