我最近开始使用链接列表。要在insert(...)函数中将元素推入链表,我看到我们总是检查是否(head == NULL)但它只出现一次。
我想知道是否有任何方法可以避免不必要的检查。请提出一些与大多数链表操作相关的内容。我想出的一个解决方案是编写一个新函数“add_first_element(....)”,以便明确地添加第一个元素,然后以通用方式添加其他元素。
我正在寻找更好的解决方案。
答案 0 :(得分:1)
常见的方法是使用标记节点。也就是说,一个节点不包含有用的数据,但只是作为第一个节点之前的的占位符。这样您就不需要检查null。
对于双链表,您需要两个前哨节点以避免空值检查。