繁体   English   中英

如何使用lower_bound(upper_bound)查找数组中任意数字的位置?

[英]How to use lower_bound(upper_bound) to find position of any number in array?

例如,我有一个元素为 1,7,9,23,34,47,67,89,123,234,345,567 的数组。 我需要知道123的位置。

使用元素声明并初始化数组。 然后创建一个整数vector vector上使用upper_bound() 下面是一个例子:

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

int main() {
    int arr[] = {1,7,9,23,34,47,67,89,123,234,345,567};
    int len = sizeof(arr)/sizeof(arr[0]);
    vector<int> v(arr,arr+len);

    vector<int>::iterator upper;
    upper = upper_bound(v.begin(), v.end(), 123);
    cout<<(upper-v.begin())<<endl;  // Output: 9

    return 0;
}

希望有帮助!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM