不带头结点的单链表的删除问题
//删除不带头结点的单链表中的所有值为x的结点 linklist delallx(linklist head,datatype x){
linklist p=head,q=NULL;
while(p){
while(p&&p->info!=x){ //遍历单链表
q=p;
p=p->next;
}
if(p){
if(!q)
head=head->next;
else {
q->next=p->next;
free(p);
}
p=p->next;
}
}
return head;
}
代码的目的是为了删除链表中所有值为x的结点然后输出,不知道哪里出了问题,求教!!! 谢谢。。。