- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
实用文档
PAGE2
PAGE
数据结构实验指导书
实验一线性表
[实验目的]
1.了解顺序表的结构特点及有关概念,掌握顺序表建立、插入、删除的基本操作算法。
2.了解单链表的结构特点及有关概念,掌握单链表建立、插入、删除的基本操作算法。
[实验内容]
1.顺序表的实践。
建立4个元素的顺序表list[]={2,3,4,5},实现顺序表建立的基本操作。
在list[]={2,3,4,5}的元素4和5之间插入一个元素9,实现顺序表插入的基本操作。
在list[]={2,3,4,9,5}中删除指定位置(i=3)上的元素9,实现顺序表的删除的基本操作。
2.单链表的实践。
建立一个包括头结点和3个结点的(4,2,1)的单链表,实现单链表建立的基本操作。
在已建好的单链表中的指定位置(x=2)插入一个结点3,实现单链表插入的基本操作。
在一个包括头结点和4个结点的(4,2,3,1)的单链表的指定位置删除一个结点,实现单链表删除的基本操作。
[实验要点及说明]
线性表(linearlist)是n(n≥0)个数据元素a1,a2,…an组成的有限序列。
其中n称为数据元素的个数或线性表的长度,当n=0时称为空表,n0时称为非空表。
通常将非空的线性表记为(a1,a2,…,an),其中的数据元素ai(1≤i≤n)是一个抽象的符号,ai是第i个数据元素,称i为数据元素ai在线性表中的位置。其具体含义在不同情况下是不同的,即它的数据类型可以根据具体情况而定,本书中,我们将它的类型设定为elemtype,表示某一种具体的已知数据类型。
顺序表也称为线性表的顺序存储结构。其存储方式为:在内存中用一组地址连续的存储单元依次存储线性表的数据元素,但该连续存储空间的大小要大于或等于顺序表的长度。一般让线性表中第一个元素存放在连续存储空间第一个位置,第二个元素紧跟着第一个之后,其余依此类推。
可定义顺序表如下:
#definemaxnum
elemtypelist[maxnum];
intnum=-1;
线性表的链式存贮结构,也称为链表。其存贮方式是:在内存中利用存贮单元(可以不连续)来存放元素值及它在内存的地址,各个元素的存放顺序及位置都可以以任意顺序进行,原来相邻的元素存放到计算机内存后不一定相邻,从一个元素找下一个元素必须通过地址(指针)才能实现。故不能像顺序表一样可随机访问。常用的链表有单链表、循环链表和双向链表、多重链表等。
单链表是线性表的链式存贮结构中每个结点只有一个指针域的链表。
顺序表、单链表的建立,选作顺序表、单链表的插入或删除。
[参考程序]
1.建立顺序表
#includestdio.h
#definemax10
main()
{
inti=0,x,*num,ch;
intlist[max];
printf(inputlist:);
while((ch=getchar())!=\n)
{
list[i];
i++;
}
*num=i-1;
for(i=0;i=*num;i++)
printf(list[%d]=%c,i,list[i]);
}
2.顺序表插入
#includestdio.h
#definemax5
#definetrue1
#definefalse0
intinsertq(intlist[],int*num,inti,intx)
{
intj;
if((i0)||(i*num+1))
{printf(mistake.);
return(false);}
if(*num=max-1)
{printf(listisfull.);
return(false);
}
for(j=*num+1;ji;j--)
list[j]=list[j-1];
list[i]=x;
(*num)++;
return(true);
}
main()
{
inti=0,x,*num,ch;
intlist[max];
printf(inputlist:);
while((ch=getchar())!=\n)
{
list[i]=ch;
i++;
}
*num=i-1;
printf(insertNo.i:);
scanf(%d,i);
getchar();
printf(insertdata:);
x=getchar();
getchar();
insertq(list,num,i,x);
for(i=0;i=*num;i++)
printf(list[%d]=%c,i,list[i]);
您可能关注的文档
- 《学前儿童发展心理学》说课.pptx
- 《建筑设计防火规范》.pptx
- 《敬业与乐业》省优质课一等奖.pptx
- 《比较文学》重点整理.docx
- 《我爱这土地》ppt课件.pptx
- 《月光曲》教学案例.doc
- 《最后的演讲》兰迪.鲍许.pptx
- 《楚门的世界》-英语课堂演讲.pptx
- 《极地地区》PPT课件2 (共29张PPT).pptx
- 《室内空间设计》第六章.pptx
- 2025年贵州工业职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年西昌民族幼儿师范高等专科学校高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年西藏警官高等专科学校高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年贵州工商职业学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 2025年贵州工商职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年贵州农业职业学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年许昌职业技术学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年许昌职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
最近下载
- 《幼儿园游戏化课程实施策略研究国内外文献综述》4300字.docx
- 高一人音版音乐教学:《欧洲与拉丁美洲音乐》教学设计.doc
- 电力机车制动机03.pptx VIP
- 电力机车制动机04.pptx VIP
- 四川省成都市成华区2022-2023学年九年级上学期期末化学试卷.docx VIP
- 2022-2023学年四川省成都市青羊区九年级上学期期末考试化学试卷含详解.pdf VIP
- 污水处理系统的防火防爆(最新版).docx VIP
- 四川省成都市学校2023-2024学年九年级上学期期末化学试卷(含解析).pdf VIP
- 53天天练六年级数学下册课堂练(人教)附答案解析.doc
- 中考数学备考策略与方法.pptx VIP
文档评论(0)