#include<iostream>
#include<vector>
#include<string>
#include<set>
#include<map>
#include<unordered_set>
#include<unordered_map>
#include<algorithm>
#include<xfunctional>
using namespace std;
int Binary_search(vector<int>& arr,int element){
int start = 0;
int end = arr.size()-1;
while (start<=end){
int mid = (start + end) / 2;
if (arr[mid] == element) return mid;
else if (arr[mid]>element) end = mid - 1;
else start = mid + 1;
}
return -1;
}
int main(){
int n;
cout << "Input the size(>=1) of the array:";
cin >> n;
vector<int> arr(n,0);
cout << "Input the sorted array element:";
for (int i = 0; i < n; i++) cin >> arr[i];
int elem;
cout << "Input the element you want to find:";
cin >> elem;
int res=Binary_search(arr,elem);
if (res == -1) cout << "Not found";
else cout << "The position in the arr is: " << res;
cout << endl;
system("pause");
return 0;
}
算法导论 Exercise2.3-5(implement binary search iteratively)
最新推荐文章于 2020-03-10 16:49:32 发布