思路
递归包含三个部分:出口、调用本身、删除操作。
代码
void del_x(LinkList &L,ElemType x){
LNode *p;
if(L==NULL){
return;
}
if(L->data==x){
p=L;
L=L->next;
free(p);
del_x(L,x);
}else{
del_x(L->next,x);
}
}
总结
误解L=L->next会断链,其实这里使用的引用变量相当于L->next,如下图解释: