/*
* @ 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;
STL算法-归并和最大最小值算法
猜你喜欢
转载自blog.csdn.net/timeinsist/article/details/78509613
今日推荐
周排行