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) 有无“&”均可,因为头结点没有发生变化