[数据结构]头插法与尾插法

单链表的基本设计及实际操作 单链表是我们学习数据结构 的最基本的内容 阅读详情
#include "stdio.h"
#include "stdlib.h"
typedef struct List {
	int data; //数据域
	struct List *next; //指针域
} List;

void TailCreatList(List *L) //尾插法建立链表
{
	List *s, *r;//s用来指向新生成的节点。r始终指向L的终端节点。
	r = L; //r指向了头节点,此时的头节点是终端节点。
	for (int i = 0; i < 10; i++) {
		s = (struct List*) malloc(sizeof(struct List));//s指向新申请的节点
		s->data = i; //用新节点的数据域来接受i
		r->next = s; //用r来接纳新节点
		r = s; //r指向终端节点
	}
	r->next = NULL; //元素已经全部装入链表L中
	//L的终端节点指针域为NULL,L建立完成

}

void HeadCreatList(List *L) //头插法建立链表
{
	List *s;                          //不用像尾插法一样生成一个终端节点。
	L->next = NULL;
	for (int i = 0; i < 10; i++) {
		s = (struct List*) malloc(sizeof(struct List));
		s->data = i;
		s->next = L->next; //将L指向的地址赋值给S;//头插法与尾插法的不同之处主要在此,
						   //s所指的新节点的指针域next指向L中的开始节点
		L->next = s;       //头指针的指针域next指向s节点,使得s成为开始节点。
	}
}

void DisPlay(List *L) {    //打印节点
	List *p = L->next;
	while (p != NULL) {
		printf("%d ", p->data);
		p = p->next;
	}
	printf("\n");
}
int main() {
	List *L1, *L2;
	L1 = (struct List*) malloc(sizeof(struct List));
	L2 = (struct List*) malloc(sizeof(struct List));
	HeadCreatList(L1);
	DisPlay(L1);
	TailCreatList(L2);
	DisPlay(L2);
}

数据结构:头插法尾插法建单链表(可选) #include<stdio.h> #include <stdlib.h> #include <malloc.h> typedef char ElemType; typedef struct node { ElemType data; struct node *next; }Node,*LinkList; void InitList(Link... 阅读详情

相关推荐

从选型到调试:MCU外部晶振电路设计的实战避坑指南

本文详细解析了MCU外部晶振电路设计的关键要点,从选型到调试提供全面指南。重点探讨了晶振频率选择、负载电容计算、PCB布局优化等核心问题,并分享常见故障排查技巧与EMC设计经验,帮助工程师规避设计陷阱,提升嵌入式系统时钟稳定性。

weixin_30872577的博客 276

【数据结构】:单链表之头插法和尾插法(动图+图解)

单链表,头插法和尾插法,有头结点,无头结点,详细解析,图解

仔仔木的博客 7万+

酒店前台pms管理系统

对于酒店经营者来说,选择一款优秀的管理系统,是提升运营效率、优化客人体验的关键。PMS酒店管理系统凭借其强大的房态管理、实时数据监控、OTA直联、无人值守等功能,已经成为许多酒店提升管理水平的得力助手。无论是大中型酒店,还是小型民宿,PMS系统都能根据不同需求提供量身定制的解决方案,帮助酒店实现精细化管理、提高运营效率。如果你也在为酒店管理中的繁琐琐事而困扰,不妨尝试一下PMS酒店管理系统,感受科技带来的便利与高效,让你的酒店运营更上一层楼!

2409_89897808的博客 2482

头插法和尾插法总结(动图版)

代码使用结构体: typedef struct Node{ int value; struct Node* next; }*Link; 头插法:利用头指针控制链表节点的增加。 核心: newNode->next = head->next; head->next = newNode; //头插法创建链表 Link headCreateLink(int n){ //头指针初始化部分 Link head,newNode; head = (Link)malloc(sizeo

l_jd_gululu的博客 3万+

使用ExcelJS向XLSX单元格居中插入图片

本文记录了使用ExcelJS库向XLSX单元格里居中写入图片的方法。本文内容包括:xlsx 文件格式;xlsx 图片定位的长度单位;使用nativeColOff和nativeRowOff进行定位,不要使用官网给的定位方式;添加图片到数据表的总体流程和样例代码;注意事项等。

weixin_43678000的博客 3456

AUTOSAR入门

一、AUTOSAR是什么 AUTOSAR组织自己的介绍是 AUTOSAR (AUTomotive Open System ARchitecture) is a worldwide development partnership of vehicle manufacturers, suppliers, service providers and companies from the automot...

天涯遍地是小草的博客 3万+

单链表建立——头插法和尾插法

引言 当我们准备采用单链表形式实现线性表,第一步就是要建立单链表,即初始化。由于链表是一个动态结构,不需要预先分配空间,因此生成链表的过程就是“逐个插入”的过程,插入结点的位置可以让我们自由选择,故有了“头插法”和“尾插法”这两种方法。 1、头插法(前插法) 课本的解释:通过将新结点逐个插入链表的头部(头节点之后)来创建链表,每次申请一个新结点,读入相应的数据元素值,然后将新结点插入到头结点之后。 重点:每次生成的新结点都是要与头结点相连接的,每个新结点都插在了原来第一个结点的前面。通过这种方法建立的链表是

SG_teresa's blog 3万+

ISP之LSC(Lens Shading Correction)

LSC - Lens Shading Correction即镜头暗影校正。

IQ_WXY的博客 5096

链表:头插法与尾插法(简易图解和代码)

头插法 定义:输入的数据次序生成的链表节点次序相反,例如:按1,2,3顺序进行头插之后,最终排序却变成了3,2,1。简而言之就是逆序插入。 定义图解: 代码图解: 代码:(使用头插法建立单链表) Linklist head_insert(Linklist &L){ //准备工作 LNode *s; // s是指向待插入结点的指针 int x; // 传入结点中data的值 L=(Linklist*)malloc(sizeof(LNode)); // ❤创建L链表, //malloc

花间半盘棋 4万+

RK3288芯片MIPI-DSI显示疑难杂症大揭秘:从点不亮到花屏全攻克

本文针对RK3288芯片MIPI-DSI接口常见的显示异常问题进行系统性分析,提出了完整的排查解决方案。硬件方面,重点检查排线连接、电源供应和散热问题;软件方面,强调屏参配置、驱动版本及时序参数的精确调整。通过两个典型案例(点不亮与花屏)具体说明排查流程,并指出未来优化方向应包括提升芯片抗干扰能力、开发智能自适应驱动程序等。该手册为开发者提供了从基础原理到实际问题的全面指导,能有效缩短故障排查时间,确保显示系统稳定运行。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 659

【控制模块算法】控制理论的进修之路

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、(经典)自动控制理论【本科阶段】二、现代控制理论【本科阶段】三、最优控制理论【硕士阶段】总结 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对对控制理论的理解做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、(经典)自动控制理论【本科阶段】 一般控制工程、自动化相关的考研专业课就是自动

qq_35635374的博客 1447

有趣的数据结构算法3——单链表尾插法和头插法的实现

有趣的数据结构算法3——单链表尾插法和头插法的实现什么是单链表头插法的实现尾插法的实现头插法实现代码尾插法实现代码GITHUB下载连接 什么是单链表 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。其与顺...

Bubbliiiing的学习小课堂 4641

C语言版-数据结构线性表之头插法与尾插法

头插法和尾插法 主函数如下: LinkList L; ElemType e; Status i; int j,k; i=InitList(&L); printf("初始化L后:ListLength(L)=%d\n",ListLength(L)); i=ClearList(&L); printf("\n清空L后:ListLength(L)=%d\n",ListLength(L)); CreateListHead(&am

u014183815的博客 4913

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数据结构与算法 | 头插法与尾插法创建单链表

上一节分享的是单链表的一些概念及一些单链表的基本操作算法,可移步至【数据结构笔记】单链表进行查看,其中用到的是头插法来创建单链表。除了头插法,还可以使用尾插法来创建单链表。本节分享头插法...

嵌入式大杂烩 2121

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

数据结构-头插法和尾插法

头插法 void HeadCreatList(List *L) //头插法建立链表 { List *s; //不用像尾插法一样生成一个终端节点。 L->next = NULL; for (int i = 0; i < 10; i++) { s = (struct List*) malloc(sizeof(struct List));//s指向新申请的节点 ...

数据飓风 4万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

数据结构-单链表的头插法、尾插法建立及遍历

//创建结点类 class ListNode { int data; ListNode next; } /*头插法 头插法原理: 定义一个head头结点,之后添加元素在头节点和已有元素之间。*/ public ListNode createListHead() { ListNode head = new ListNode(); head.next = null; for (int i = 1; i <= 5; i++) {

筱筱_之家的博客 2782

数据结构——头插法和尾插法

头插法和尾插法 1.节点的定义 2.采用头节点的好处 3.采用头插法建立链表 该方法从空表开始,生成新节点,并将读取到的数据存放到新节点的数据域中,并将新节点插入到当前链表的表头,即头节点之后。 采用头插法建立单链表时,读入数据的顺序与生成的链表中的元素的顺序是相反的。每个节点插入的时间为O(1),设单链表长为n,则总时间复杂度为O(n)。 4.采用尾插法建立链表 头插法建立单链表的算法虽然...

黄坤的博客 9137

学习笔记-数据结构-头插法和尾插法

刚开始学习数据结构,总结一些笔记。 在创建链表时,将数据插入到链表中常用的两种的方法有:头插法和尾插法两种。 头插法: 尾插法: 如果有什么问题,欢迎大神指导一下。

taotao_521的博客 9658

数据结构链表【头插法】【尾插法】【双向链表】

我们最近学了数据结构链表中的尾插法,头插法,双向链表 链表的步骤 1.申请一个新的节点空间 2.给新的节点赋值信息域 3.修改这个节点的指针域,将节点连接起来 尾插法:顾名思义就是从节点的尾部进行插入,首先申请一个节点空间,给新的节点赋值信息域,然后修改这个 节点的指针域,写链表首先要判断头节点是否为空,第一步,如果节点为空,将新的节点地址复制给头节点,如果头节点 不为空,要定义一个尾节点。专门来...

weixin_40989362的博客 5983

数据结构实现头插法和尾插法

数据结构这种烧脑的东西我是真不想搞,学了一学期也只知道有个数据结构这个东西,为了学习搞好C语言,硬着头皮学。 头插法: #include <stdio.h> #include <stdlib.h> struct list { int data; struct list *next; }; int main() { struct list *inPut,*head; head->next = NULL; int i,n; printf("请输入排序数字:\n");

知足且坚定,温柔且上进 854

数据结构——用头插法和尾插法建立链表

一、要求以头插法建立单链表 #include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList; LinkList Create(); void print( LinkList L); int main() { LinkList L = Create(); pr

#两个西柚 5442

数据结构之单链表的头插法和尾插法

description: 输入3 4 5 6 7 9999 一串整数 ,9999代表结束,通过头插法新建链表并输出,通过尾插法新建链表并输出。应将尾指针的指针域赋值给要插入的链表结点 再将尾指针的指针域指向插入结点 最后将尾指针指向新插入的结点。需要将头结点的指针域 赋给 要插入结点的指针域 再将头结点的指针域指向要插入结点。注意输出要采用如下代码(oj判题对空格敏感)20221223 作业链表。//打印链表中每个结点的值。

weixin_44230780的博客 634

数据结构与算法 | 头插法和尾插法图文并茂

#include "stdio.h" #include "stdlib.h" typedef struct List { int data; //数据域 struct List *next; //指针域 } List; void TailCreatList(List *L) //尾插法建立链表 { List *s, *r;//s用来指向新生成的节点。r始终指向L的终端节点。 r = L; //r指向了头节点,此时的头节点是终端节点。 for (int i = 0; i < 10; i++) {

嵌入式大杂烩 4万+

数据结构——线性表的整表创建(头插法、尾插法)

线性表整表创建方法:头插法和尾插法

Cary程祺 4512

【数据结构】单链表建立的头插法和尾插法

此篇文章主要介绍存在头结点的情况下的头插法和尾插法。 头插法与尾插法 1.头插法与尾插法的优缺点 头插法:优点:在不是空表的情况下,插入结点不需要从头到尾查找直到找到尾结点,效率较高 缺点:插入的顺序相反 尾插法:优点:插人的顺序相同 缺点:在不是空表的情况下,插人结点需要从头到尾查找直到找到尾结点,效率低 2.头插法实现与演示 头插法是如何实现的呢 首先,我得先拥有一个空表头,并把头结点指向最后一个录入的结点 以下...

ly020111的博客 1万+
上一篇: [数据结构]程杰《大话数据结构》书中的顺序表源码
下一篇: [数据结构]程杰《大话数据结构》单链表代码
ilikeprograming
博客等级 码龄14年 46粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值