单链表vs双链表

就是既有前驱指针也有后继指针,由line改为double。


双链表的插入怎么实现?
s->next=p->next;

p->next->prior=s

s->prior=p //把p赋给s的前驱指针指向的位置

p->next=s;

如果p刚好是最后一个元素。
p->next->prior=s //会出现前驱指针空指针的错误

就不用执行把s赋给NULL的前驱指针指向的位置。
这就是p结点之后的插入操作。
双链表的删除

p->next=q->next

q->next->prior=p //把p赋给q的next指针指向的位置的前驱指针指向的位置
释放q。
同样如果删除最后一个元素‘

如何销毁一个双链表

双链表的遍历
so easy

按位查找(计数器)进行遍历

按值查找
进行值的对比


多了一个前驱的指针(最后一个节点,需要特殊处理)



















