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;
}
相关推荐
玖玥拾8 小时前
C/C++ 基础笔记(十四)多态与模板编程
c语言·c++·多态·模板
许彰午9 小时前
30_Java Stream流操作全解
java·windows·python
小林ixn9 小时前
LeetCode 206. 反转链表(迭代 + 递归详解)
算法·leetcode·链表
caimouse12 小时前
Reactos 第1章 概述
c语言·开发语言·架构
星间都市山脉12 小时前
Android STS(Security Test Suite)完整介绍与测试流程
android·java·linux·windows·ubuntu·android studio·androidx
退休倒计时12 小时前
【每日一题】LeetCode 142. 环形链表 II TypeScript
算法·leetcode·链表·typescript
啊森要自信12 小时前
【GUI自动化测试】控件、鼠标键盘操作与多场景自动化
c语言·开发语言·python·adb·ipython
xiaoliuliu1234513 小时前
Sketchpad 5.0.6 几何画板安装版配置教程 Windows版:部署+桌面快捷方式创建指南
windows
花间相见13 小时前
【LeetCode02】—— 两数之和:哈希表入门经典详解
数据结构·散列表
惊鸿一博14 小时前
网络端口开放访问权限_Windows 11 上确保防火墙允许指定端口如3001可被访问
网络·windows