雙向鏈表的刪除
- 刪除:即實現刪除鏈表中第i結點的運算。
- 算法思路:調用查找算法Getlist(L,i),獲取ai的指針p.若p存在,則修改指針刪除掉
- 算法描述:
- Status ListDelete_DuL(DulinkList &L,int I,ElemTypr &e){
//刪除帶頭結點的雙鏈表循環線性表L的第i個元素
i的合法值爲1<=i<=表長
if(!(p=GetElemP_DuL(L,i))) //在L中確定第I個元素的位置指針p;
return ERROR; //p=NULL.即第I個元素不存在
e=p->data;
p->prior->next=p->next
p->next->prior=p->prior;
free§;return OK;
}//ListDelete_DuL