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;
}
相关推荐
小欣加油16 分钟前
leetcode 429 N叉树的层序遍历
数据结构·c++·算法·leetcode·职场和发展
Kuo-Teng37 分钟前
LeetCode 142: Linked List Cycle II
java·算法·leetcode·链表·职场和发展
小龙报1 小时前
《算法通关指南C++编程篇 --- 初阶函数递归专题》
c语言·开发语言·c++·算法·创业创新·学习方法·visual studio
星轨初途1 小时前
《数据结构二叉树之堆 —— 优先队列与排序的高效实现(2)(下)》
c语言·开发语言·数据结构·经验分享·笔记·性能优化
Shylock_Mister2 小时前
ARM与x86交叉编译实战排错指南
linux·c语言·arm开发
高山有多高2 小时前
堆应用一键通关: 堆排序 +TOPk问题的实战解析
c语言·数据结构·c++·算法
程序猿追2 小时前
Ascend C编程范式总结:与CUDA的异同对比
c语言·开发语言·算法
IDOlaoluo3 小时前
SQL Server 2022 企业版ISO安装步骤(附安装包从挂载到配置全流程)
windows
前进之路94 小时前
Leetcode每日一练--47
数据结构·算法·leetcode
r***11335 小时前
从零开始在Windows系统上搭建一个node.js后端服务项目
windows·node.js