请实现有重复数字的有序数组的二分查找。 输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。

区块链毕设网qklbishe.com为您提供问题的解答

请实现有重复数字的有序数组的二分查找。
输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。
#include <iostream> #include<vector> using namespace std;  //二分查找 int BinarySearch(vector<int> arr, int target, int n) {     if (target > arr[n - 1])       //如果target大于最后一个数那么也就大于     {         return n + 1;     }     int left = 0;     int right = n ;     int mid = left + (right - left) / 2;     while (left < right)     {         if (arr[mid] >= target)         {             right = mid;         }         else         {             left = mid + 1;         }          mid = (left + right) / 2;     }     return mid + 1; } int main() {     int n = 0;                      //数组长度     int v = 0;                      //查找值     cin >> n >> v;     vector<int> arr;     arr.resize(n);     for (int i = 0; i < n; i++)     {         cin >> arr[i];     }     cout << BinarySearch(arr, v, n); }

54:27

以上就是关于问题请实现有重复数字的有序数组的二分查找。 输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 请实现有重复数字的有序数组的二分查找。 输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。