【发布时间】:2013-12-14 20:44:42
【问题描述】:
我想要做的是创建一个函数,它将获取一个列表作为输入和一个数字,并将删除该列表中等于该特定数字的节点。因此,如果我有一个链表,可以说:
struct num // list 1
{
char *val;
struct num *next;
};
我已经在该列表中添加了 4 个项目,我希望能够删除第三个项目并返回包含现在 3 个项目的新列表。到目前为止我尝试过的所有东西都不起作用,我认为是因为在删除其中一个后我没有正确链接剩余的项目。
既然你坚持这是我到目前为止所拥有的
struct num1 *temp;
temp = head;
struct num1* deletend(int del){
for ( int i = 0; i < listSize; i++)
{
if (i == del){
free(temp);
}
temp = temp->next;
}
return temp;
}
【问题讨论】:
-
正确链接它们,它应该可以工作。
-
你尝试过的一切是什么?随意发布代码。 (不,我们不会写你的作业。)
-
@BitFiddlingCodeMonkey 不,他没有。
-
@BitFiddlingCodeMonkey :不需要
prev链接。你也可以从单链表中删除一个节点。 -
@Denim Idea 太好了,他需要被告知两次。
标签: c linked-list