zoukankan      html  css  js  c++  java
  • lower_bound与upper_bound()用法笔记

    lower_bound与upper_bound()用法笔记
    原创正牌东风 最后发布于2018-07-23 21:10:23 阅读数 965 收藏
    展开
    头文件

    #include <algorithm>

    using namespace std;

    lower_bound与upper_bound()查找一个元素的时间复杂度为O(log n);

    一、数组中的lower_bound与upper_bound()
    对于从小到大排序好的整型数组a[n],假设有a[5]={0,2,3,3,5},对于要查找的整型数val,有

    1)int i=lower_bound(a,a+n,val)-a;

    其中i返回值为数组中元素值大于等于val的第一个下标,相应地,如果数组中所有元素的值都小于val,则返回值为数组最后一个元素下标的下一个下标(另外一种说法是:i的返回值为val可以插入a数组的最前的位置)。

    val=2,i=1;

    val=3,i=2;

    val=6,i=5;

    2) int i=upper_bound(a,a+n,val)-a;

    其中i返回值为数组中元素值大于val的第一个下标,相应地,如果数组中所有元素的值都小于等于val,则返回值为数组最后一个元素下标的下一个下标(另外一种说法是:i的返回值为val可以插入a数组的最后的位置)。

    val=2,i=2;

    val=3,i=4;

    val=6,i=5;
    ————————————————
    版权声明:本文为CSDN博主「正牌东风」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/clz16251102113/java/article/details/81173950

    对lower_bound的理解
    原创imagination_wdq 最后发布于2018-12-03 13:34:00 阅读数 1001 收藏
    展开
    头文件:algorithm

     lower_bound()返回值是一个迭代器,返回指向比key大的第一个值的位置

    第一个用法:返回值的下标。

    #include <algorithm>
    #include <iostream>
    using namespace std;
    int main()
    {
    int a[]={1,2,3,4,5,7,8,9};
    printf("%d",lower_bound(a,a+8,6)-a);
    //如果key是最大的,则返回值为数组的长度

    return 0;
    }
    第二个用法:返回值的大小。

    #include <algorithm>
    #include <iostream>
    using namespace std;
    int main()
    {
    int a[]={1,2,3,4,5,7,8,9};
    printf("%d",*lower_bound(a,a+8,6));
    //如果key是最大的,返回值为0
    return 0;
    }
     
    ————————————————
    版权声明:本文为CSDN博主「imagination_wdq」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_42391248/java/article/details/84760477

  • 相关阅读:
    web.py利用模板的详细步骤
    Arduino入门笔记(9):蓝牙模块及第一辆蓝牙遥控小车
    Python常用模块之sys
    使用Supervisor管理Linux进程
    Python socket聊天室程序
    Ubuntu 文件文件夹查看权限和设置权限
    python遍历目录
    linux tail命令的使用方法详解
    Python使用openpyxl读写excel文件
    python中enumerate()的用法
  • 原文地址:https://www.cnblogs.com/WAsbry/p/12688059.html
Copyright © 2011-2022 走看看