丢失C中链接列表中的部件

时间:2011-04-08 18:27:46

标签: c linked-list

我正在尝试创建一个链接列表,我在连接中间部分时遇到了问题,我现在正在做一些伪代码,实际上没有编写任何代码。

(struct pointers) *current, *ahead, *behind, *begin;

(behind)-->(current)-->(ahead) //This is what I want to do

behind->next = current;
current->next = ahead;

这是打破和连接列表的正确方法吗?没有丢失任何东西..

1 个答案:

答案 0 :(得分:1)

你看起来是正确的,但相当不完整。编程的一个不成熟的规则是你不能在第一次正确编写链表实现。您需要处理四种情况:

  1. 插入空列表
  2. 插入非空列表
  3. 从列表中删除第一个元素
  4. 从列表中删除任何其他元素
  5. 还有双链表,其中每个元素都有一个指向前一个元素和下一个元素的指针。这样可以更轻松地处理诸如删除随机元素而不遍历列表之类的事情,但可能更难以正确使用。