單向鏈表的基本運算
單向鏈表刪除
- 刪除:即實現即實現
Delete(L,x,i)
,刪除線性表L中第I個元素 - 第一步:先將ai-1的後繼變爲ai+1的前驅。
- 第二步:將ai-1的後繼變爲ai+1的前驅.
- 算法
Status ListDelete_L(linkList &L,int,ElemType &e){
//在帶頭節點的單鏈線性表L中,刪除第I個元素,並由e返回其值
p=L;j=0
while(p->next&&j<I-1){//尋找第I個結點並令p指向其前驅
p=p->next;++j;
}
if(!(p->next||j>I-1))return ERROR//刪除位置不合理
q=p->next;p->next=q->next; //刪除位置不合理
e=q->data;free(q);
return OK;
}//ListDelete_L