下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第C语言数据结构与算法之链表(二)在上一节的学习中我们介绍了C语言如何实现链表,但是,在这一章,我们将抛开令人头秃的指针和结构体,我们将另外使用一种数组来实现的方式,叫做模拟链表。让我们一起来看看。
模拟链表介绍
链表中的每一个结点都只有两个部分。
我们可以使用一个数组date来储存每序列中的每一个数。那每一个数右边的数是谁,这一点该如何解决呢?在上一章的内容中我们是使用指针来解决的,这里我们只需再用一个数组right来存放序列中每一个数右边的数是谁就可以了。具体要怎么做呢?
上面的两个数组中,第一个整型数组date是用来存放序列中的具体数字的,另外一个整型数组right是用来存放当前序列中每一个元素右边的元素在数组date中位置的。
例如right【1】的值为2,就表示当前序列中1号元素右边的元素存放在date【2】中;如果是0,例如right【9】的值为0,就表示当前序列中9号元素的右边没有元素。
现在需要在8面前插入一个6,只需将6直接存在数组date的末尾即date【10】=6.
接下来只需要将right【3】改为10,表明新序列中3号元素右边的元素存放在date【10】中。再将right【10】的值改为4,表示新序列中10号元素右边的元素存放在date【4】中。
这样我们通过right数组就可以从头到尾遍历整个序列了(序列的每个元素的值存放在对应的数组date中),如下
插入代码实现
//从链表的头部开始遍历
t=1;
while(t!=0)
//如果当前结点下一个结点的值大于待插入数,将数插到中间
if(date[right[t]]date[len])
right[len]=right[t];//新插入的数的下一个结点标号等于当前结点的下一个标号
right[t]=len;//当前结点的下一个结点编号就是新插入数的编号
break;//插入完成跳出循环
t=right[t];
}
代码实现
#includestdio.h
intmain()
intdate[101],right[101];
inti,n,t,len;
//读入已有的数
scanf(%d,
for(i=1;ii++)
scanf(%d,date[i]);
len=n;
//初始化数组right
for(i=1;ii++)
if(i!=n)
right[i]=i+1;
else
right[i]=0;
//直接在数组date的末尾加一个数
len++;
scanf(%d,date[len]);
//从链表的头部开始遍历
t=1;
while(t!=0)
//如果当前结点下一个结点的值大于待插入数,将数插到中间
if(date[right[t]]date[len])
right[len]=right[t];//新插入的数的下一个结点标号等于当前结点的下一个标号
rig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仿古面砖-施工方案(3篇)
- 2024-2025学年度包头轻工职业技术学院单招数学考前冲刺练习题附参考答案详解(能力提升)
- 2026年闽南理工学院单招职业技能测试题库及答案详解(必刷)
- 李子园深度研究报告
- 2026年黄冈职业技术学院单招职业倾向性考试题库附参考答案详解(培优)
- 2026年阳泉职业技术学院单招综合素质考试题库含答案详解(基础题)
- 2026年青岛航空科技职业学院单招职业技能测试题库带答案详解(黄金题型)
- 2026年陕西财经职业技术学院单招综合素质考试题库带答案详解(典型题)
- 决胜全面小康研究报告
- 2026年陕西铁路工程职业技术学院单招职业技能考试题库带答案详解(黄金题型)
- 城市燃气工程系统的规划的资料课件
- 汽轮机组试车方案
- 漆安慎力学第二版课后习题解答及漆安慎-力学答案
- PCI围术期强化他汀治疗的获益和机制课件
- 沥青搅拌站安全生产风险分级管控体系方案资料(2022-2023版)
- WTO海关估价协议中文版
- 【广东省】工作证明模板(仅供参考)
- YS/T 613-2006碳膜电位器用电阻浆料
- GB/T 33365-2016钢筋混凝土用钢筋焊接网试验方法
- GB/T 17626.10-2017电磁兼容试验和测量技术阻尼振荡磁场抗扰度试验
- GB/T 14536.6-2008家用和类似用途电自动控制器燃烧器电自动控制系统的特殊要求
评论
0/150
提交评论