删除p节点的后继节点
bool DeleteNextNode(DNode *p,DNode *s){//将节点s插入到节点P之后
if(p=NULL||s=NULL)//非法参数
return false;
s->next=p->next;
if(p->next!=NULL) //p不是最后一个节点,p之后有后继节点
p->next->prior=s;
s->prior=p;
p->next=s;
return true;
}
//销毁一个双链表
bool DestroyList(DLinkList &L){
//循环释放各个数据节点
while(L->next!=NULL){
DeleteNextNode(L);//删除头节点的后继节点
free(L);//释放头节点
L=NULL;//头指针指向NULL
}
}