设计一个算法删除单链表L(有头结点)中的一个最小值结点
/*******************************************************************
*
* 函数名称: LList_delatemin
* 函数功能: 删除单链表L(有头结点)中的一个最小值结点
* 函数参数:
* @a : *L
* @b :
* 返回结果: None
* 注意事项: None
* 函数作者: 18312615416@163.com
* 创建日期: 2024/04/22
* 修改历史:
* 函数版本: V1.0
* *****************************************************************/
void LList_delatemin(*L)
{
LList_t *addr = L->next;//记录工作结点指针
LList_t *preaddr = L;//记录前驱
LList_t *minaddr;//待记录最小值结点的指针
if(NULL == L->next)//判断链表是否只有头指针
{
perror("Delate failed!");
return;
}
while(addr->next)
{
if(addr->next->data < preaddr->next->data)//比较
{
preaddr = addr//记录当前最小值的前驱
}
addr = add->next;
}
minaddr = preaddr->next;//记录最小值的结点
preaddr->next = minaddr->next//最小值结点的前驱指向最小值的后继
free(minaddr);//释放最小值结点
}