• upper_bound和lower_bound的用法


    STL中的每个算法都非常精妙,接下来的几天我想集中学习一下STL中的算法。

      ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。

         ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)算法返回一个非递减序列[first, last)中第一个大于val的位置。

         lower_bound和upper_bound如下图所示:




    使用方法:

    #include <iostream>
    #include <algorithm>//必须包含的头文件
    using namespace std;
    int main(){
     int point[10] = {1,3,7,7,9};
     int tmp = upper_bound(point, point + 5, 7) - point;//按从小到大,7最多能插入数组point的哪个位置
     printf("%d
    ",tmp);
     tmp = lower_bound(point, point + 5, 7) - point;////按从小到大,7最少能插入数组point的哪个位置
     printf("%d
    ",tmp);
     return 0;
    }



  • 相关阅读:
    运算符的方向--好神奇
    a++ 和 ++a ;
    c语言中!和~的区别
    函数的参数,参数为数组
    反射的理解
    ThreadLocal类
    多线程面试题-sleep()和wait()区别
    话题1-关键字
    实现多线程的另一种方式-Callable
    线程池
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387101.html
Copyright © 2020-2023  润新知