给定一个问题,如何分析哪个更好?我知道每一种是什么,但我不知道何时使用或何时不使用的区别。
最佳答案
大多数单链表是 grounded header linked lists ,其中列表中的最后一个元素有一个空指针作为“下一个”指针。有时,人们会使用循环链表,但这是需要特殊术语的特殊情况。
请注意,链表中可能有一个循环(不一定返回到第一个节点),在这种情况下,它不会是一个接地链表,并且您需要特殊的代码来发现是否存在循环。您可以将一个或多个尾部链接到此类链表的循环中。
A D E B
@--->@--->@--->@--->@<---@<---@
^ |
| v C
@<---@<---@<---@<---@
G F
A、B 和 C 中的每一个都是链表的开始,最终以循环 D、E、F、G 结束。但是,这样的链表是异常的 - 它们是不寻常的并且通常是不受欢迎的,并且通常如果创建了这样的列表,则表明存在错误。
除非您有充分的理由不这样做,否则请使用接地链表。
关于c - 如何知道何时使用单链表或接地头链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47403919/