




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数据结构线性表试验报告(最终定稿) 第一篇:数据结构线性表试验报告线性表上机实习1、实验目的(1)熟悉将算法转换为程序代码的过程。(2)了解顺序表的逻辑结构特性,熟练掌握顺序表存储结构的C语言描述方法。(3)熟练掌握顺序表的基本运算:查找、插入、删除等,掌握顺序表的随机存取特性。(4)了解线性表的链式存储结构,熟练掌握线性表的链式存储结构的C语言描述方法。(5)熟练掌握线性链表(单链表)的基本运算:查找、插入、删除等,能在实际应用中灵活选择适当的链表结构。2、实验要求(1)熟悉顺序表的插入、删除和查找。(2)熟悉单链表的插入、删除和查找。3、实验内容:①顺序表(1)抽象数据类型定义typedefstruct{TypeDatadata[maxsize];//容量为maxsize的静态顺手表intn;//顺序表中的实际元素个数}SeqList;//静态顺序表的定义在本次实验中,首先建立一个空的静态顺序表,然后键盘输入数据存入表中,然后进入菜单选择界面,通过不同的数字输入,实现对顺序表,删除,插入,查找,显示等操作。(2)存储结构定义及算法思想在顺序表结构体的定义中,typedefintTypeData为整型,存储结构如下:for(n=0;ncoutcin>>L.data[n];//顺序将数据存入顺序表}//其他存储与此类似,都是直接赋值与数组的某一位插入版块子函数:voidinsert(SeqList&L)//插入数据{inta,b,c,k;coutcin>>a>>b;if(b(L.n+1)){coutk=L.data[b-1];L.data[b-1]=a;c=L.n;L.n=L.n+1;while(c>b){L.data[c]=L.data[c-1];c--;//通过循环,实现插入位置后的数据挨个往后移动一位}L.data[b]=k;}顺序表的插入与删除操作类似,在插入与删除后,都要循环调整后面数组的每一位元素,同时记录数据元素的长度的标示符也要跟着改变。显示操作是通过循环实现表中第一个元素到最后一个元素的输出,查找操作是直接取数组中的查找位输出。(3)实验结果与分析②单链表(1)抽象数据类型定义typedefstructnode{DataTypedata;//链表的数据类型structnode*link;//链表的结点指针}linknode,*linklist;//定义了结构体linklode和结构体指针linklist在本次实验中,首先程序自己建立一个空的头结点,通过菜单的功能选择“添加链表数据”可自由添加链表的节点数及元素值。在菜单选择中,有“添加链数据”,“插入链表数据”,“删除链表数据”,“查找链表数据”和“显示链表数据”功能,选择不能的功能选择就能实现不同的操作。其中“添加链表数据”可反复批量输入链表数据。(2)存储结构定义及算法思想在单链表中,typedefintDataType;DataTypedata;定义链表存储数据位整型。存储结构如下:while(p->link!=NULL){p=p->link;k++;//首先找到单链表的最后结点(如果是只有头结点}的单链表则直接跳过),以便后面接着输入数据for(inti=0;i{cout//开辟新的结点空间并转化为linklist指针型cin>>q->data;q->link=p->link;//将前面一个结点的指向(及NULL)赋给新开辟的结点的指向p->link=q;//将插入点前面一个结点指向新开辟的的结点p=q;//将指明的最后一个一个结点向后移1位到最后一位,以便后面接着输入}删除结点子函数:voiddelate(linklist&l){//删除单链表数据linklistp;intm,n,i=0;coutcin>>m;p=l;//将头结点赋给转移指针pwhile(p&&i//查找删除结点的位置p=p->link;//当在单链表中间已查到删除结点或p=NULL时跳出循环i++;}if(p==NULL){//当p=NULL跳出循环时,表明链表中没有该结点cout}n=p->link->data;//找到删除接结点将数据取出并显示出来(找结点时是找的前一个结点)coutp->link=p->link->link;//将删除结点的前后结点链接起来}链表的删除,插入操作是类似的,要考虑到加入或减少一个结点后,前后结点的链接关系,以及删除或插入的是最后一个结点时,新空间的开辟与结点收尾等问题。其中删除功能的一部分就是查找功能,显示功能也是从链表的头结点遍历至最后一个,依次输出。(4)实验结果与分析③心得体会本次数据结构实习我收获颇丰,以前学过c语言与c++也有经常上机,但以往都是偏向于程序整体的算法设计,没有像这次的实习这样是着重在线性表,链表结构的算法设计上面。这次

fu****级甜
实名认证
内容提供者


最近下载
贵州省城市管理行政执法条例.doc
贵州省城市管理行政执法条例.doc
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf