(1)双链表是单链表的一个父集。双链表中如果完全无视pPrev指针,则双链表就变成了单链表。这就决定了双链表的正向遍历(后向遍历)和单链表是完全相同的。
(2)双链表中因为多了pPrev指针,因此双链表还可以前向遍历(从链表的尾节点向前面依次遍历直到头节点)。但是前向遍历的意义并不大,主要是因为很少有当前到了尾节点需要前向遍历的情况。
(3)总结:双链表是对单链表的一种有成本的扩展,但是这个扩展在有些时候意义不大,在另一些时候意义就比较大。因此在实践用途中要根据业务要求选择适合的链表。
//后向遍历
void travalnode(struct node *pHeader)
{
struct node *p = pHeader;
while(NULL != p

双链表提供正向和反向遍历,虽然前向遍历使用场景有限,但根据业务需求选择合适的链表结构至关重要。在实际工作中,单纯的技术知识不如结合业务逻辑的应用有价值,只有将技术与特定领域的业务相结合,解决问题并创造价值,个人的技能和价值才能得到提升。
最低0.47元/天 解锁文章
4324

被折叠的 条评论
为什么被折叠?



