双链表就是在单链表的基础上,每个结点增加了前驱结点的地址,方便向前查找
插入、删除都与单链表有些区别(修改后继结点的时候把前驱结点也一块修改下
后向遍历
xxxxxxxxxx
41while (p != NULL) {
2 // 某些处理
3 p = p->next;
4}
前向遍历
xxxxxxxxxx
41while(p != NULL) {
2 // 某些处理
3 p = p->prior;
4}
前向遍历(跳过头结点)
xxxxxxxxxx
41while(p->prior != NULL) {
2 // 某些处理
3 p = p->prior
4}