单链表功能函数练习——按规定插入指定节点及删除最小值节点(C语言)

这篇具有很好参考价值的文章主要介绍了单链表功能函数练习——按规定插入指定节点及删除最小值节点(C语言)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文属于数据结构中,单链表练习的一部分。共设计了两个功能函数,详细信息如下。

设计在指定值的位置处,插入指定数据的函数

* 函数名称: LList_DestInsert

* 函数功能: 在指定值位置处,插入指定的数据data

* 函数参数:

​ LList_t *Head: 需要操作的链表头节点

​ DataType_t dest: 插入位置的值

​ DataType_t data: 需要插入的指定的数据

* 返回结果: true or false

* 注意事项: None

* 函数作者: ni456xinmie@163.com

* 创建日期: 2024/04/22

* 修改历史:

* 函数版本: V1.0

bool LList_DestInsert(LList_t *Head, DataType_t dest, DataType_t data)
{
	// 1.创建新的结点,并对新结点进行初始化
	LList_t *New = LList_NewNode(data);
	if (NULL == New)
	{
		printf("can not insert new node\n");
		return false;
	}
	LList_t *tmp = Head;
	while (tmp->data != dest && tmp->next != NULL) // 2.移动到指定位置节点
	{
		tmp = tmp->next;
	}
	if (NULL == tmp->next)
	{
		if (tmp->data == dest)
		{
			New->next = NULL; // 3.如果指定目标值在末尾,且dest正好也在末尾,可进行尾插操作
			tmp->next = New->next;
			return true;
		}
		else
		{
			printf("There is no dest\n"); // 4.如果未找到指定目标值,则返回
			return false;
		}
	}
	New->next = tmp->next; // 5.如果指定目标值在中间,则进行插入操作。
	tmp->next = New->next;
	return true;
}

设计删除单链表钟最小值节点的函数

* 函数名称: LList_DeleteMin

* 函数功能: 删除单链表中的最小值节点

* 函数参数:

* LList_t *Head: 需要操作的链表头节点

* 返回结果: true or false

* 注意事项: None

* 函数作者: ni456xinmie@163.com

* 创建日期: 2024/04/22

* 修改历史:

* 函数版本: V1.0

···文章来源地址https://www.toymoban.com/news/detail-855854.html

bool LList_DeleteMin(LList_t *Head)
{
	LList_t *tmp1 = Head->next;		// 用来遍历
	LList_t *tmpFormer = Head;		// 用来存放目标指针前一个节点
	LList_t *tmpDest = Head->next;	// 用来存放目标指针
	DataType_t tmpMin = tmp1->data; // 用来存放最小值
	if (!tmp1)						// 如果是空表
	{
		printf("The list is NULL");
		return false;
	}
	if (!tmp1->next) // 只有一个元素,就删掉
	{
		free(Head->next);
		Head = NULL;
		return true;
	}
	while (tmp1->next) // 两个以上的元素,定位到最小元素
	{
		if (tmpMin > tmp1->next->data)
		{
			tmpMin = tmp1->next->data;
			tmpDest = tmp1->next;
			tmpFormer = tmp1;
		}
		tmp1 = tmp1->next;
	}
	tmpFormer->next = tmpDest->next; // 进行删除操作
	free(tmpDest);
	return true;
}

到了这里,关于单链表功能函数练习——按规定插入指定节点及删除最小值节点(C语言)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包