解题代码
bool Insert( List L, ElementType X )
{
bool ret=false;
Position left=0,right=L->Last,loc;
if((L->Last+1)<MAXSIZE)
{
while(left<=right){
loc=(left+right)/2;
if(L->Data[loc]==X){
break;
}else if(L->Data[loc]>X){
left=loc+1;
}else{
right=loc-1;
}
}
if(left>right){
Position i;
for(i=L->Last;i>=left;i--){
L->Data[i+1]=L->Data[i];
}
L->Data[left]=X;
L->Last++;
ret=true;
}
}
return ret;
}