收藏 分享(赏)

数据结构 实验1顺序表和链表基本操作.doc

上传人:tangtianxu1 文档编号:2876862 上传时间:2018-09-29 格式:DOC 页数:8 大小:137.50KB
下载 相关 举报
数据结构   实验1顺序表和链表基本操作.doc_第1页
第1页 / 共8页
数据结构   实验1顺序表和链表基本操作.doc_第2页
第2页 / 共8页
数据结构   实验1顺序表和链表基本操作.doc_第3页
第3页 / 共8页
数据结构   实验1顺序表和链表基本操作.doc_第4页
第4页 / 共8页
数据结构   实验1顺序表和链表基本操作.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、实验一:线性表运算的实现 一、实验预备知识1 复习 C+中编写函数的相关内容。2 复习如何用主函数将多个函数连在一起构成一个 C+完整程序。二、实验目的1 掌握线性表的顺序和链式存储结构2 熟练运用线性表在顺序存储方式下的初始化、创建、输出、插入和删除运算3 熟练运用线性表在链式存储方式下的创建、输出、插入和删除运算三、实验要求1 编写初始化并创建线性表和输出线性表的算法。2 编写对线性表插入和删除运算算法,要判断位置的合法性和溢出问题。3 编写一个主函数,将上面函数连在一起,构成一个完整的程序。4 将实验源程序调试并运行,写出输入、输出结果,并对结果进行分析。四、实验步骤顺序表实验内容:1给

2、定的线性表为 L=(12, 25,7,42,19,38) ,元素由键盘输入。2初始化并建立顺序表。3编写顺序表输出算法。 (内存中开辟的单元数为 8)4依次插入 3,21,15 三个数,分别插入在第 4,6 和 2 位置,每插入一次都要输出一次顺序表。5删除第 5,第 3 和第 12 个位置上的元素,每删除一个元素都要输出一次顺序表。单链表实验内容:1给定的线性表为 L=(12, 25,7,42,19,38) ,元素由键盘输入。2建立一个带表头结点的单链表(前插入法和尾插入法都可以) 。3编写单链表输出算法。4依次插入 3,21,15 三个数,分别插入在第 4,6 和 12 位置,每插入一次都

3、要输出一次单链表。5删除第 5,第 3 和第 12 个位置上的元素,每删除一个元素都要输出一次单链表。5、实验程序1顺序表A.源代码: #includeconst int Maxsize=20;typedef int DataType;typedef struct SeqlistDataType dataMaxsize;int last;Seqlist;using namespace std;Seqlist *InitList() Seqlist *L;L=new Seqlist;if(L)L-last=0;return L;elsecoutL-datai;L-last+=6;void Out

4、put_List(Seqlist *L)coutlast;i+)coutdatailast=Maxsize-1)cout=L-last)coutlast;j=i-1;j-)L-dataj+1=L-dataj;L-datai-1=x;L-last+;return 1;void delete_List(Seqlist*L,int i)if(i=L-last)coutlast;j+)L-dataj=L-dataj+1;L-last-;void main()Seqlist *L;int j;DataType x;L=InitList();coutj;coutx;Ins_List(L,j,x);Outp

5、ut_List(L);coutj;delete_List(L,j);Output_List(L);delete L;B.运行结果示意图:2.链表A.源代码:#includetypedef int DataType;typedef struct LNodeDataType date;LNode *next;*Linklist;int Lenth_list(LNode*);using namespace std;Linklist Creat_list()LNode *H;H=NULL;DataType num;Linklist l,r;coutnum;l=new LNode;if(l)if(H=N

6、ULL)l-date=num;l-next=NULL;H=l;r=l;elsel-date=num;l-next=NULL;r-next=l;r=l;elsecoutnext!=NULL)coutdatenext;coutLenth_list(H)+1|inext;s=new LNode;if(s)if(i=1)s-date=x;s-next=H;H=s;elses-date=x;s-next=p-next;p-next=s;return;elsecoutnext!=NULL)p=p-next;i+;return i;Linklist Delete_list(Linklist if(i=1)p

7、=H;H=H-next;return p;elses=p-next;p-next=p-next-next;return s;void main()int i=0;DataType num=0;LNode *H;H=Creat_list();Output_list(H);couti;coutnum;Ins_list(H,i,num);Output_list(H);couti;Delete_list(H,i);Output_list(H);B.运行结果示意图:六、总结本次实验是数据结构这门课程的第一次上机实验课,由于上课前未能很好地预习,以至于课上不能够完全明白老师所讲内容。课本上许多知识点都处于模棱两可的状态,当进行实验操作时,遇到了很多的问题,对线性表的一些基本操作如初始化、赋值等都进行的不太顺利。以至于在整个实验过程中都有点力不从心的感觉,随后在同学的帮助下,才算勉强的完成实验操作。此次实验让我深刻的体会到对平时知识积累的重要性。在以后的学习中更应重视知识的积累,多看书,多做一些上机实践。以便于能够很好地完成以后的实验。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报