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;
}
相关推荐
IDOlaoluo1 分钟前
ArrowDL BT下载工具v4.2.1中文版安装教程(附详细步骤+下载方法)
windows
zt1985q8 分钟前
外网访问项目研发管理软件 codes
运维·服务器·windows·网络协议·tcp/ip
小此方10 分钟前
深度解析:环形链表——手撕面试经典题
数据结构·链表·面试
芋头莎莎41 分钟前
STM32利用AES加密数据、解密数据
数据结构·stm32·算法
不会kao代码的小王1 小时前
零基础也能搭博客?
linux·windows·后端
一车小面包1 小时前
MCP-stdio通信
windows
多多*1 小时前
Java复习之范型相关 类型擦除
windows
序属秋秋秋5 小时前
《Linux系统编程之系统导论》【冯诺依曼体系结构 + 操作系统基本概述】
linux·运维·服务器·c语言·ubuntu·操作系统·冯诺依曼体系结构
程序员buddha7 小时前
C语言数组详解
c语言·开发语言·算法
cs麦子9 小时前
C语言--详解--指针--上
c语言·开发语言