你是不是写少了一半括号啊,看起来怪怪的。
链表需要上一个节点(暂定为节点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;
- }
|