6-3 递增的整数序列链表的插入 分数 5

cpp 复制代码
List Insert(List L, ElementType X) 
{
	//创建结点
	List node = (List)malloc(sizeof(List));
	node->Data = X;
	node->Next = NULL;

	List head = L->Next; //定位real头指针

	//空链表 直接插入
	if (head == NULL) 
	{
		L->Next = node;
		node->Next = head;

		return L;
	}

	//插入数据比第一个数据还小 直接插入
	if (head->Data >= X) 
	{
		L->Next = node;
		node->Next = head;
		return L;
	}

	List prv = NULL;
	while (head && head->Data < X)
	{
		prv = head;
		head = head->Next;
	}
	//循环结束条件一:head走到空都没有找到合适位置 尾插
	if (head == NULL)
	{
		prv->Next = node;
	}
	循环结束条件二:找到合适位置
	else 
	{
		prv->Next = node;//中
		node->Next = head;
	}
	return L;
}
相关推荐
菩提树下的凡夫41 分钟前
基于windows X64 NVIDA显卡的onnxruntime环境下GPU加速C++部署教程
windows
取个名字太难了a1 小时前
用户 APC 的执行过程(下)
windows
sycmancia1 小时前
C语言学习03——数据类型
c语言
思成Codes1 小时前
ACM训练:接雨水3.0——动态接雨水
数据结构·算法
sin_hielo1 小时前
leetcode 2943
数据结构·算法·leetcode
Snow_day.2 小时前
有关平衡树
数据结构·算法·贪心算法·动态规划·图论
mikelv013 小时前
实现返回树状结构小记
java·数据结构
程序员-King.3 小时前
day134—快慢指针—环形链表(LeetCode-141)
算法·leetcode·链表·快慢指针
黎雁·泠崖3 小时前
整数的N进制字符串表示【递归+循环双版满分实现】
c语言·开发语言
张张努力变强3 小时前
C++类和对象(一):inline函数、nullptr、类的定义深度解析
开发语言·前端·jvm·数据结构·c++·算法