0

我最近开始使用链表。为了在 insert(...) 函数中将元素推入链表,我看到我们总是检查 if(head == NULL) 但它只出现一次。

我想知道是否有任何方法可以让我们始终避免不必要的检查。请提出与大多数链表操作相关的建议。我想出的一个解决方案是编写一个新函数“add_first_element(....)”,以便我们明确地添加第一个元素,然后以通用方式添加其他元素。

我正在寻找更好的解决方案。

4

1 回答 1

1

一种常见的方法是使用哨兵节点。也就是说,一个节点不包含任何有用的数据,而只是充当第一个节点之前的占位符。这样你就不需要检查空值了。

对于双链表,您将需要两个哨兵节点以避免空值检查。

于 2013-09-08T03:55:45.767 回答