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;
}
相关推荐
呜喵王阿尔萨斯24 分钟前
C/C++ const -- 多义混乱
c语言·开发语言·c++
来一碗刘肉面32 分钟前
串的定义与基本操作
数据结构
geovindu44 分钟前
java: Backtracking Algorithm
java·开发语言·windows·后端·算法·回溯算法
三克的油1 小时前
数据结构-1
数据结构
人邮异步社区14 小时前
怎么把C语言学到精通?
c语言·开发语言
糖果店的幽灵17 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
闪电悠米17 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
WL学习笔记17 小时前
堆(数据结构)
数据结构·
骑上单车去旅行18 小时前
MD5校验对比脚本
linux·服务器·windows
xiaobobo333019 小时前
C语言中宏定义宏名和宏值之间的关系
c语言·宏定义·语义型