

Position BirnarySearch(List L,ElementType X)
{
int low = 0;
int high = L->Last - 1;
int mid ;
while(low <= high){
mid = (low + high) / 2;
//右边查找
if (X> L.Data[mid]) {
low = mid + 1;
//左边查找
}else if (X< L.Data[mid]) {
high = mid - 1;
}else{
return mid;
}
}
return -1;
}