c语言链表不带头节点的排序,不带头结点的单向链表排序——插入排序(C语言)...
LinkList* LinkListInsertSort(LinkList* pHead)
{
LinkList *pFirst = (LinkList *)NULL; /* 原链表剩下未排序节点的头指针 */
LinkList *pCurrInsert = (LinkList *)NULL; /* 无序链表中当前待插入节点 */
LinkList *pPrev = (LinkList *)NULL; /* 有序链表中插入位置的前一个节点 */
LinkList *pPost = (LinkList *)NULL; /* 有序链表中插入位置的有一个节点 */
pFirst = pHead->m_next; /* 原链表未排序链表的头节点 */
pHead->m_next = NULL; /* 仅含有一个节点的有序链表 */
while (NULL != pFirst)/* 遍历剩下无序的链表 */
{
pCurrInsert = pFirst;
pPost = pHead;
while ((NULL != pPost) && (pPost->m_key < pCurrInsert->m_key))
{
pPrev = pPost;
pPost = pPost->m_next;
}
pFirst = pFirst->m_next;
if (pPost == pHead) /* 节点pCurr要插在第一个节点之前 */
{
pHead = pCurrInsert;
}
else /* pPrev是pPost的前驱 */
{
pPrev->m_next = pCurrInsert;
}
pCurrInsert->m_next = pPost; /* 插入节点pCurrInsert */
}
return pHead;
}
c语言链表不带头节点的排序,不带头结点的单向链表排序——插入排序(C语言)...相关推荐
- 数据结构例9.编写一个算法,将带头结点的单向链表 拆分成一个奇数链表和一个偶数链表,并分别输出
/* 编写一个算法,将带头结点的单向链表 拆分成一个奇数链表和一个偶数链表,并分别输出 */ # include <iostream> # include <stdlib.h> ...
- 数据结构--链表--判断一个字符串是否为回文串(单向链表,双向链表)
回文串为首尾对称的字符串: 如a,aba,abba等 单链表思路 1.将字符读入链表 2.找到链表中点 3.将链表从中点断开成2条,将后半条反转 4.比较两条链表是否相等(比较次数以少的为准(长度为奇 ...
- java 链表逆序代码_如何实现一个高效的单向链表逆序输出?(详解)
需要考虑因素,高效应权衡多方面因素 数据量是否会很大 空间是否有限制 原始链表的结构是否可以更改 时间复杂度是否有限制 一个链表节点需要输出的元素有多个,例如链表中存的是自定义对象,有多个字段 题目. ...
- 统计带头结点的单向链表的个数并存放在形参n所指的单元中。 欢迎评论 指点。
#include <stdio.h> #include <stdlib.h> #define N 8 typedef struct list //定义结构体 { int dat ...
- php单链表检测有没有环,写一段代码判断单向链表中有没有形成环,如果形成环,请找出环的入口处,即P点...
首先,关于单链表中的环,一般涉及到以下问题: 1.给一个单链表,判断其中是否有环的存在: 2.如果存在环,找出环的入口点: 3.如果存在环,求出环上节点的个数: 4.如果存在环,求出链表的长度: 5. ...
- 数据结构-带头节点的单链表(C语言)超详细讲解
前面我们学到线性表的顺序存储结构(顺序表),发现它有着明显的缺点:插入和删除元素时需要频繁的移动元素,运算效率低.必须按事先估计的最大元素个数申请连续的存储空间.存储空间估计大了,造成浪费空间:估计小 ...
- 不带头节点的单链表如何头插(多图易懂)
文章目录 缘起 带头节点的头插 不带头节点的头插 错误的代码 为什么错误 如何修改 返回新的头指针 二级指针 缘起 本文想说的是单向非循环链表的头插.单向非循环链表,可以是带头节点的,也可以是不带头节 ...
- 【C语言】数据结构C语言版 实验3 带头结点的单链表
slnklist.h #include <stdio.h> #include <stdlib.h> /************************************* ...
- 带头与不带头节点单链表
一.链表与顺序表区别 二.链表的结构 1.带头节点 2.不带头节点 三.实现一个带头节点的链表 方法: 1.增加(头插.尾插) 2.删除某个节点 3.输出链表 4.得到链表指定位置节点 5.逆置链表 ...
最新文章
- youtube获取播放列表信息
- mysql5720_Mysql内置功能《五》 函数
- QT的QDataStream类的使用
- LeetCode 92. Reverse Linked List II
- PTA-6-1 数组循环右移 (20分)(C语言)
- Bailian3729 用set实现字符串的排序和查找【文本处理】
- 【干货】--手把手教你完成文本情感分类
- java 数字任意三个数_求Java编程个猜数字游戏!任意输入个数根据提示大了或小了直到选对...
- PHP - Smarty模板引擎 - Download下载 - 2 6 22
- 数据分析之数据预处理、分析建模、可视化
- ERP学习 之 财务管理
- go-sqlite3 “database is locked”问题解决方案
- 如何在Excel里输入能打钩的选择框?
- Time, Delays, and Deferred Work LDD3 学习笔记 + jiffies.h 分析
- 什么是零知识证明(ZK Proof)?Web2.0通往Web3.0的入口技术
- 目标检测+图像分割项目
- 无Internet,安全的解决方法
- uniapp实现附有二维码的图片的本地保存
- 解决 操作必须使用一个可更新的查询的错误
- 害阿里程序员差点被当场开除的P0事故
热门文章
- 从网络访问计算机不能添加用户名,windows7 和 XP 能互相用\\ip访问,但是不能通过计算机名访问...
- 目标检测第6步:YOLOv5(5.0)如何在Colab中训练自定义数据集?(更新时间:2022.3.22)
- 2014 网选 5024 Wang Xifeng's Little Plot
- ccs变量观察窗口在哪_CCS3.3查看变量图形
- 现代php中文版,现代PHP
- linux访问网站出现443,Linux访问网站一直出现超时
- python3导入_Python3导入相对还是绝对的正确方法?
- spring boot admin 2.2 获取日志失败_SB实战20-Spring Boot的日志和报告
- android 左滑按钮,android开发类似微信列表向左滑动按钮操作
- 日常问题——使用Xshell 连接虚拟机报错 Disconnected from remote host