跨考小白求助!!!请各位大佬指点

试编写在带头结点的单链表L中删除一个最小值结点的高效算法
(假设最小值结点是唯一的)。
各位大佬看看我这个代码可行吗

void Delete_min(LinkList *L)
{
LinkList *r; //用来标记值最小的结点
LinkList *pre = L; //指向当前指针的前驱
LinkList *p = L->next;
Elemtype min = p->data;

while (p->next != NULL)
{
    if (p->next->data < min)
    {
        pre = p;
        p = p->next;
        min = p->data;
    }
    else
    {
        p = p->next;
    }
}
r = pre->next;
pre->next = r->next;
free(r);

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐