Position BinarySearch( List L, ElementType X ){
Position ret=NotFound;
Position left=1,right=L->Last;
Position loc;while(left<=right){
loc=(left+right)/2;if(X==L->Data[loc]){
ret=loc;break;}elseif(X>L->Data[loc]){
left=loc+1;}else{
right=loc-1;}}return ret;}