【发布时间】:2013-11-15 20:56:17
【问题描述】:
使用循环指针和尾指针构建双向链表的优点/缺点是什么?哪个更适合构建双端队列?
在我看来,它们在执行所有搜索、插入和删除节点时几乎相同。唯一不同的是,对于尾指针双向链表,需要有一个尾指针指向最后一个节点,并且每次在尾后插入新节点时都需要更新它。此外,在循环链表中,第一个节点链接到最后一个节点,反之亦然,而在尾指针中,head->prev 和 tail-> 都指向空指针。 我认为它们都非常适合构建双端队列。这一切都归结为您希望程序如何运行。如果你想让你的程序在头尾节点之间快速来回运行,使用循环的方法,否则,尾指针就足够了。
这就是我对这个问题的回答。由于我还没有建立任何循环双向链表,我对它如何在机器上运行没有任何经验,但我怀疑它会和尾指针一样快。有什么建议吗?感谢大家的投入。
【问题讨论】:
标签: linked-list