你是不是写少了一半括号啊,看起来怪怪的。
链表需要上一个节点(暂定为节点1)的next可以找到下一个节点(暂定为节点2),节点2的next也能找到下一个节点(暂定为节点3),如果要删除节点2,首先要找到节点2,那个if就是查找,然后需要把节点1的next指向节点3(上面代码也实现了),同时把节点2占用的空间释放掉,free(s)。
我感觉这代码有点问题。看看我修正的对不对?
LinkList *p,*q,*s;
p=head;
q=head->next;
while(q)
{
if(q->data==m){
p->next=q->next;
s=q;
free(s);
break;
}
q=q->next;
}
|