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