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

/*
    *   @ 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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值