int findAndDel(LinkNode *&L,ElemType x){
LinkNode *p ,*q;
p=L;
while(p->next!=NULL){
if(p->next->data==x){
break;
}
p=p->next;
}
if(p->next==NULL){
return 0;
}
else{
q=p->next;
p->next=p->next->next;
free(q);
return 1;
}
}
当传入参数是链表时,只有链表头结点有所变动才一定需要头结点,因为传参时传的是头结点,而不是整个链表
如上述算法,int findAndDel(LinkNode *&L,ElemType x) 有无“&”均可,因为头结点没有发生变化
链表操作:findAndDel 函数详解及传参理解
本文解析了 C 语言链表中 findAndDel 函数,讲解了其在删除指定元素时仅修改头结点的情况,并讨论了函数参数传递中头结点作用的重要性。

被折叠的 条评论
为什么被折叠?



