c语言,删除链表中指定值的节点

2025-03-03 05:33:35
推荐回答(4个)
回答1:

删除链表中的一个结点,要把前一个结点和后一个结点连起来,你光删除没有连起来。

Liste delister (Liste liste, int v)
{ Liste tmp1=liste,tmp2=NULL;

int flag=0;
tmp2=tmp1;
while( tmp1 != NULL )
{
if(tmp1->valeur == v)
{ if(tmp2!= tmp1)
tmp2->lien=tmp1->lien; /*头结点可直接删除,中间结点删除前要先连接前后的结点*/
free(tmp1);
tmp1=tmp2->lien;
flag=1;
}
else
{ tmp2=tmp1; //记录前一个结点
tmp1=tmp2->lien;
}
}
if(!flag)
printf("v isn't in the list");
return liste;
}

回答2:

好好学习,天天向上

回答3:

垃圾

回答4:

格式真别扭啊,能不能搞清楚点