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;
}
相关推荐
小魏每天都学习1 小时前
【算法——c/c++]
c语言·c++·算法
感谢地心引力1 小时前
安卓、苹果手机无线投屏到Windows
android·windows·ios·智能手机·安卓·苹果·投屏
智码未来学堂2 小时前
探秘 C 语言算法之枚举:解锁解题新思路
c语言·数据结构·算法
风清扬_jd3 小时前
libtorrent-rasterbar-2.0.11编译说明
c++·windows·p2p
青桔柠薯片3 小时前
数据结构:顺序表与链表
数据结构·链表
彷徨而立4 小时前
【C/C++】strerror、GetLastError 和 errno 的含义和区别?
c语言·c++
金枪不摆鳍4 小时前
算法--二叉搜索树
数据结构·c++·算法
向哆哆5 小时前
画栈 · 跨端画师接稿平台:基于 Flutter × OpenHarmony 的整体设计与数据结构解析
数据结构·flutter·开源·鸿蒙·openharmony·开源鸿蒙
代码无bug抓狂人5 小时前
动态规划(附带入门例题)
c语言·算法·动态规划
季明洵5 小时前
C语言实现顺序表
数据结构·算法·c·顺序表