从小到大排列int find(int soure[], int low, int high, int tar){
int mid = (low+high)/2;
if(soure[mid] == tar)
return mid;
else if(low>=high)
return -1 //not find tar
else if(soure[mid]>tar)
return find(soure,mid+1,high,tar);
else
return find(soure,low,mid-1,tar);}main(){int a={15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};int tar = 5,i;i = find(a,0,14,tar);if(i==-1) printf("无此数");elseprintf("%d",find(a,0,14,tar));} |