设计一个算法删除单链表L(有头结点)中的一个最小值结点

设计一个算法删除单链表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);//释放最小值结点
}
posted @ 2024-04-22 23:57  北极甜虾哟  阅读(45)  评论(0)    收藏  举报