在编程语言中,双向链表是怎样的呢?小编与大家分享自己的理解。
工具/原料
C++
方法/步骤
1
单链表中寻找一个已知节点的后继节点,其时间复杂度为O(1),而寻找节点的直接前驱的时间复杂度为O(n),如果要克服单链表的单向性缺点,可以使用双向链表。
2
双向链表的节点中,有两个指针域,一个指向直接后继,一个指向直接前驱。
3
双向链表中增加前驱数组Pre[],Pre[p]记录存储位置为p的结点的前驱结点的存储位置。
4
和单向循环链表类似,双向链表也有循环链表。
5
在双向链表中,插入和删除操作与单链表有很大的不同,需要同时修改两个方向上的指针。
注意事项
作者声明:本篇经验系本人辛勤劳动的原创成果,未经许可,谢绝转载。