#include <iostream>
#include <vector>
#include <queue>
using namespace std;
//循环
int BinarySearch(vector<int> arr,int left,int right,int target)
{
while(left <= right)
{
int middle = left + (right-left)/2;
if(target == arr[middle])
return middle;
else if(target < arr[middle])
{
right = middle - 1;
}
else if(target > arr[middle])
{
left = middle + 1;
}
}
return -1;
}
//递归
int BinarySearch(vector<int> arr,int left,int right,int target)
{
if(left > right || arr.size() == NULL)
return -1;
else{
int middle = left + (right - left)/2;
if(target == arr[middle])
return middle;
else if(target < arr[middle])
BinarySearch(arr,left,middle-1,target);
else if(target > arr[middle])
BinarySearch(arr,middle+1,right,target);
}
}
int main()
{
vector<int> arr;
for(int i = 3; i < 10; i++)
arr.push_back(i);
print(arr);
int result = BinarySearch(arr, 0, arr.size()-1, 6);
cout<<result<<endl;
return 0;
}