1 /* binarySearch
2 05/05/13 17:24
3 */
4 #include<iostream>
5 #include<cstdlib>
6 using namespace std;
7 int binarySearch(int *array,int low,int high,int value)// 返回value的位置,如果是-1则表示没找到
8 {
9 if(low<=high){
10 int mid;
11 mid= (low+high)/2;
12 if(value==array[mid])
13 return mid;
14 else if(value<array[mid])
15 high=mid-1;
16 else
17 low=mid+1;
18 return binarySearch(array,low,high,value);
19 }
20 else return -1;
21 }
22 int main(){
23 int num;
24 int value;
25 while(1){
26 cout<<"input the number of array:"<<endl;
27 cin>>num;
28 int *array=NULL;
29 array = (int *)malloc(sizeof(int)*(num));
30 cout<<"input the sorted array:"<<endl;
31 for(int i=0;i<num;i++) cin>>array[i];
32 cout<<"input search value:"<<endl;
33 cin>>value;
34 cout<<value<<"'s postion is:"<<binarySearch(array,0,num-1,value)<<endl;
35 }
36 return 0;
37 }