双向链表的插入与删除

放到

双向链表的插入  


双向链表的插入与删除

第一步:首先找到插入位置,节点 s 将插入到节点 p 之前 (//箭头指向谁,是谁被存
第二步:将节点 s 的前驱指向节点 p 的前驱,即 s->prior = p->prior; //p的前驱里面存放的是第一个节点,插入了s,把这个点放入s中。
第三步:将节点 p 的前驱的后继指向节点 s 即 p->prior->next = s; //把s放在第一个节点中
第四步:将节点 s 的后继指向节点 p 即 s->next = p; //把p的数据域放到s中
第五步:将节点 p 的前驱指向节点 s 即 p->prior = s;//把s的数据域放到p中


双向链表的删除

双向链表的插入与删除

第一步:找到即将被删除的节点 p 
第二步:将 p 的前驱的后继指向 p 的后继,即 p->prior->next = p->next; 
第三步:将 p 的后继的前驱指向 p 的前驱,即 p->next->prior = p->prior; 
第四步:删除节点 p 即 delete p;