1.p->prior->next=p->next; 2.p->next->prior=p->prior;
双向链表的删除操作
算法描述:欲删除双向链表中的第i个结点,则指针的变化情况如图2.17所示。
int DlinkDel(DoubleList L,int i,ElemType *e)
{
DNode *p;
…/*首先检查待插入的位置i是否合法(实现方法同单链表的删除操作)*/
…/*若位置i合法,则让指针p指向它*/
*e=p->prior->next=p->next;
p->next->prior->p=p->prior;
free(p);
return TRUE;
}