#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,int end){
if (start > end) return -1;
int mid = (start + end) / 2;
if (arr[mid] == element) return mid;
else if (arr[mid] > element) return Binary_search(arr,element,start,mid-1);
else return Binary_search(arr,element,mid+1,end);
}
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,0,arr.size()-1);
if (res == -1) cout << "Not found";
else cout << "The position in the arr is: " << res;
cout << endl;
system("pause");
return 0;
}
算法导论 Exercise 2.3-5 (implement binary serach recursively)
最新推荐文章于 2021-05-18 20:55:58 发布