c++ 如何使用lower_bound(upper_bound)求数组中任意数的位置?

6jygbczu  于 2023-01-15  发布在  其他
关注(0)|答案(1)|浏览(132)

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

w3nuxt5m

w3nuxt5m1#

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

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<vector>
  4. using namespace std;
  5. int main() {
  6. int arr[] = {1,7,9,23,34,47,67,89,123,234,345,567};
  7. int len = sizeof(arr)/sizeof(arr[0]);
  8. vector<int> v(arr,arr+len);
  9. vector<int>::iterator upper;
  10. upper = upper_bound(v.begin(), v.end(), 123);
  11. cout<<(upper-v.begin())<<endl; // Output: 9
  12. return 0;
  13. }

希望对你有帮助!!

展开查看全部

相关问题