所以这就是问题所在。我正在尝试删除链表的第一个节点,不幸的是我仅限于使用:
int delete(node* head, int i)
因此,与其他线程推荐的做法不同,我无法返回节点或在参数中使用 **node。在删除之前和之后打印集合输出 0 而不是第一个节点:
//before
12, 1, 14,
//after
0, 1, 14,
该函数旨在删除任何节点,但我被困在标头值等于 i 的部分。delete
这是处理第一个节点的函数的代码片段:
int delete(node * head, int i) {
node * current;
current=head;
while (current){
if((current=head) && (head->value=i)){
head=current->next;
free(current);
current=NULL;
break;
}
...
}
return 0;
}
提前致谢。