算法思想
如图所示,一步步改链就行
代码演示
void Exchange(DuLinkList &La){
q=p->prior; //q为p的前驱节点,对应①
q->prior->next=p; //对应②
p->prior=q->prior; //对应③
q->next=p->next; //对应④
p->next->prior=q; //对应⑥
q->prior=p;//此时并没有结束,因为在上述改链的过程中
p->next=q; //p和q中间的两条链都断了,需重新链上
}