Position BinarySearch( List L, ElementType X ){
int LE=1,R=L->Last;
while(LE<=R){
int mid=LE+(R-LE)/2;
if(X>L->Data[mid])
LE=mid+1;
else if(X<L->Data[mid])
R=mid-1;
else if(X==L->Data[mid])
return mid;
}
return NotFound;
}
L->Last