试设计一算法,删除单链表h中数据域data的值为x的结点 5

有更好的算法吗?... 有更好的算法吗? 展开
 我来答
quan5919
2014-03-05
知道答主
回答量:10
采纳率:0%
帮助的人:1.5万
展开全部
pLNode deleteAllMatchVal(pLNode L, int x)

{

 if(L==NULL)  

  return NULL;

 pLNode p = L;

 pLNode q = p->next;

 while(q!=NULL)

 {

  

  if(q->data == x)

  {

   p->next = q->next;

   free(q);  

  }

  else

  {

   p = p->next;

  }

  q = p->next;

 }

 if(L->data == x) //要考虑头结点 

 {

  q = L;

  L = L->next;

  free(q);

 }

 return L;

}
espcpc
2008-05-23
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
//下面这个单链表头节点为head
Node *del_node(Node *head)
{
Node *p,*q;
for(q=head,p=head->next;p!=NULL;p=p->next,q=q->next)
{
if(p->data == x)
{
q->next=p->next;
free(p);
}
}
return head;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式