從靜態順序表中刪除第i個位置元素
void DelElem(ElemType Sqlist[], int &n, int i){
int j;
if(i<1 || i>n)
exit(0); //非法刪除
for(j=i; j<n; j++)
Sqlist[j-1]=Sqlist[j]; //將第i位置以后的元素依次前移
n--; //表長減1
}
從動態順序表中刪除第i個位置元素
void DelElem(Sqlist *L, int i){
//從順序表中刪除第i個元素
ElemType *delItem, *q;
if(i<1 || i>L->len) exit(0); //非法刪除
delItem=&(L->elem[i-1]); //delItem指向第i個元素
q=L->elem+L->length-1; //q指向表尾
for(++delItem; delItem<=q; ++ delItem)*( delItem-1)=* delItem;
//將第i位置以后的元素依次前移
L->length--; //表長減1
}
