C语言习题006:二分(折半)查找
C语言练习006:二分(折半)查找
#include <stdio.h>
int rank(int array[],int size,int elment){
int start=0;
int last=size-1;
while (start<=last) {
int mid=start+(last-start)/2;
if (elment<array[mid]) {
last=mid-1;
}
else if(elment>array[mid]){
start=start+1;
}
else{
return mid;
}
}
return -1;
}
int main(){
int array[]={4,20,43,54,60,66};
int elment;
scanf("%d",&elment);
int size=sizeof(array)/sizeof(array[0]);
int result=rank(array,size,elment);
printf("%d\n",result);
return 0;
}