如果遇到问题,我该如何分析哪一个更好?我知道每个人是什么,但我不知道何时使用或何时不使用。
答案 0 :(得分:2)
大多数单链表都是grounded header linked lists,其中列表中的最后一个元素有一个空指针作为' next'指针。有时,人们使用循环链表,但这是需要特殊术语的特殊情况。
请注意,链接列表中可能有一个循环(不一定返回到第一个节点),在这种情况下,它不会成为基础链接列表,并且您需要特殊代码才能发现存在环。您可以将一个或多个尾部链接到此类链接列表的循环中。
A D E B
@--->@--->@--->@--->@<---@<---@
^ |
| v C
@<---@<---@<---@<---@
G F
A,B和C中的每一个都是链接列表的开头,该链接列表最终出现在周期D,E,F,G中。但是,这样的链接列表是异常的 - 它们不常见并且通常是不合需要的,通常,如果创建了这样的列表,则表明存在错误。
使用基础链接列表,除非您有充分的理由不这样做。