在单链表L中删除值为e的结点,并根据返回值判断是否删除

 我来答
chiconysun
推荐于2016-09-07 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2585万
展开全部
如果是多个值为e的结点,则算法还需要加一点东西
struct Node
{ /* 单链表类型声明 */
ElemType data; /* 数据域 */
struct Node *next; /* 指针域 */
};
;
int Find(Node *head, ElemType e)
{ /* 在带头结点单链表中查找值e,成功则删除并返回1,否则返回0 */
Node *p, *q;
p = head->next;
q = head;
while (p != NULL && p->data != e)
{
q = p;
p = p->next;
}
if (p != NULL)/* 查找成功 */
{
q->next = p->next;
free(p);
return 1;
}
else
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式