zoukankan      html  css  js  c++  java
  • 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;
    }



  • 相关阅读:
    java10 var
    java lambda,方法引用
    Java集合总结
    Oracle/Sun JDK与OpenJDK的区别和联系
    IO基本知识
    字符串反转2单词内部不进行转换
    反转String 1
    java 左移<<&>>右移&>>无符号右移
    反射
    equals方法与hashcode方法
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387101.html
Copyright © 2011-2022 走看看