IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 链表直接插入排序 -> 正文阅读

[数据结构与算法]链表直接插入排序

带头结点

基本思想:
将带头结点head的链表拆分为:head带一个结点的链表和q带剩余结点的链表,将q中的每个结点逐次插入到head链表中,构成一个带头结点且结点值递增的链表
在这里插入图片描述
关键代码:

LinkList sort(LinkList &head){
	LinkList p, q, r, l;
	p = head->next;//将原链表拆分为两个链表,一个head带一个结点,一个q带剩余结点 
	q = p->next;
	p->next = NULL;
	while(q!=NULL){
		p = head;
		r = q->next;
		while(p->next!=NULL){//找到要插入的位置 
			if(p->next->number<q->number){
				p=p->next;
			}else{
				break;
			}
		}
		q->next = p->next;//插入结点 
		p->next = q;
		q = r;//恢复位置 
		l = head;
		int i=0;
		printf("插入第%d个结点后,第一个链表为",++i);
		while(l!=NULL){
			printf(" %d", l->number);
			l = l->next;
		}
		printf("\n");
	}
	
	return head; 
}

在这里插入图片描述

不带头结点

基本思想:
将不带头结点head的链表拆分为:head指向的一个结点的链表和q带剩余结点的链表,将q中的每个结点逐次插入到head链表中,构成一个不带头结点结点值递增的链表
在这里插入图片描述
关键代码:

	LinkList Sort(LinkList &head){
	LinkList p, q, r, l;
	q = head->next;
	head->next = NULL;
	while(q!=NULL){
		p = head;
		r = q->next;
		if(q->number<p->number){//q插入head第一个结点之前 
			q->next = p;
		}else{//q大于等于head第一个结点,从head第二个结点开始比较 
			while(p->next!=NULL){//q插入head中间或最后 
				if(p->next->number<q->number){
					p=p->next;
				}else{
					break;
				}
			}
			q->next = p->next;
			p->next = q;
		}
		q = r;
		l = head;
		int i=0;
		printf("插入第%d个结点后,第一个链表为",++i);
		while(l!=NULL){
			printf(" %d", l->number);
			l = l->next;
		}
		printf("\n");
	}
	return head;
}

在这里插入图片描述

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:22:02  更:2022-01-03 16:23:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:51:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码