在C中按顺序插入到链接列表中

时间:2016-10-11 18:17:11

标签: c

我试图找出按字符串的顺序将节点插入到我的linkedList中。我在使用我认为的指针时遇到了麻烦,因为我在运行程序时遇到了分段错误。该节点有两个数据字段,一个字符串的char数组和一个表示数字的int。该列表只需按名称排序。

Jan_data <- lapply(SST_list, "[","Jan")

2 个答案:

答案 0 :(得分:0)

以下是您需要关注的代码中的缺陷 -

<强> 1
if(head!=NULL) { write code for the case if (strcmp(newName, current->name) > 0) also. }

<强> 2

如果第一个节点为strcmp(newName, current->name) < 0,则需要在第一个节点之前插入节点,而不是在第一个节点之后插入节点。

第3

while loop的任何迭代中插入新节点后,您需要break循环while

我希望您可能会发现这些更正很有用。

答案 1 :(得分:0)

确保测试所有这些情况 -

  • 清空清单

  • 列表中的第一个节点。

  • 列表中包含超过2个

  • 的列表中的最后一个节点
  • 列表中两个项目之间的节点。

  • 列表中的第二个节点

  • 列表中的倒数第二个节点。

通过&#34;测试&#34;所有这些情况我并不意味着运行程序并看到它崩溃我的意思是查看代码并理解代码将如何为每个案例执行。

当我看到它会做什么时,我喜欢做小盒子和箭的图画。不要害怕一步一步地接受它。

查看上面的代码,我可以看到上面的许多情况都没有正确处理,所以我对你的seg故障并不感到惊讶。