#include<iostream>
using namespace std;
int BinarySearch(int array[] ,int n ,int value)
{
int left = 0;
int right = n - 1;
while(left <= right)
{
int middle = left + ((right - left) >> 1);//移位防止溢出
if(array[middle] > value)
right = middle - 1;
else if(array[middle] < value)
left = middle + 1;
else
return middle;
}
return -1;
}
int main()
{
int array[] = {1,2,3,9,5,6,7,8};
int i = BinarySearch(array,8,9);
cout<<"i = "<<i<<endl;
cout<<"array["<<i<<"] = "<<array[i]<<endl;
while(true)
;
return 0;
}
using namespace std;
int BinarySearch(int array[] ,int n ,int value)
{
int left = 0;
int right = n - 1;
while(left <= right)
{
int middle = left + ((right - left) >> 1);//移位防止溢出
if(array[middle] > value)
right = middle - 1;
else if(array[middle] < value)
left = middle + 1;
else
return middle;
}
return -1;
}
int main()
{
int array[] = {1,2,3,9,5,6,7,8};
int i = BinarySearch(array,8,9);
cout<<"i = "<<i<<endl;
cout<<"array["<<i<<"] = "<<array[i]<<endl;
while(true)
;
return 0;
}