C中的链接列表插入

时间:2013-09-08 03:44:24

标签: c linked-list

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

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

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

1 个答案:

答案 0 :(得分:1)

常见的方法是使用标记节点。也就是说,一个节点不包含有用的数据,但只是作为第一个节点之前的的占位符。这样您就不需要检查null。

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