C语言学习 二分法
Position BinarySearch( List L, ElementType X ){
int f=1,ret=-1,r=L->Last;
int b = (f+r)/2;
while(f<=r){
if (X>L->Data[b]) f = b+1;
else if(X<L->Data[b]) r = b-1;
else {ret=1; break;}
b = (r+f)/2;
}
if(ret==-1){
return NotFound;
}
else return b;
}
Baniry Search