太原理工大学数据结构实验报告.doc

太原理工大学数据结构实验报告.doc

ID:56791576

大小:259.00 KB

页数:32页

时间:2020-07-11

太原理工大学数据结构实验报告.doc_第1页
太原理工大学数据结构实验报告.doc_第2页
太原理工大学数据结构实验报告.doc_第3页
太原理工大学数据结构实验报告.doc_第4页
太原理工大学数据结构实验报告.doc_第5页
资源描述:

《太原理工大学数据结构实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.本科实验报告课程名称:数据结构实验项目:线性结构、树形结构、图结构、查找、排序实验地点:行知楼A210专业班级:服工1302班学号:2013006828学生姓名:董倩指导教师:Word资料.2015年12月24日线性结构一、实验目的和要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实习题。二、实验内容和原理习题[问题描述]设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。[输入]顺序表的长度

2、,初始化顺序表数据,插入数据X。[输出]已建立顺序表,输出插入X后的顺序表。[存储结构]采用顺序存储结构[算法的基本思想]建立顺序表(用数组的形式实现)。Word资料.在表中从后往前查找要插入元素的位置,直到查找到第一个比X小的数,并从表的最后一元素依次后移,把要插入元素插入搜查找位置。三、主要仪器设备使用的计算机惠普:硬件配置Win7、软件环境win-TC四、操作方法与实验步骤[习题源程序]#include"stdio.h"#defineMAXSIZE100#defineRIGHT1#defineERROR0typedefintElemType;typedefstruct

3、{ElemTypeelem[MAXSIZE];intlast;}SeqList;voidInitlist(SeqList*L){L->last=-1;}voidputseqList(SeqList*L,intn){Word资料.inti;for(i=0;ielem[i]));L->last=L->last+n;}intLenList(SeqList*L){intLen;Len=L->last+1;returnLen;}intPositionList(SeqList*L,intX){intj;for(j=0;j<=L->last;

4、j++)if(Xelem[j])returnj+1;return(L->last+1);}intInsList(SeqList*L,inti,inte){intk;Word资料.if((i<1)

5、

6、(i>L->last+2)){printf("thepositioniswrong");return(ERROR);}if(L->last>=MAXSIZE-1){printf("thelistisfull");return(ERROR);}for(k=L->last;k>=i-1;k--)L->elem[k+1]=L->elem[k];L->elem[i-1]=e;L-

7、>last++;return(RIGHT);}intOutputSeqList(SeqList*L){inti;for(i=0;i<=L->last;i++)printf("%d,",L->elem[i]);return(L->elem[i]);Word资料.}voidmain(){ints,c;SeqListL;Initlist(&L);printf("pleaseinputthelength:");scanf("%d",&s);printf("pleaseinputthelist:");putseqList(&L,s);LenList(&L);printf("Pleas

8、einputanelementtoinsert:");scanf("%d",&c);InsList(&L,PositionList(&L,c),c);OutputSeqList(&L);printf("");getch();}五、实验数据记录和处理Word资料.六、实验结果与分析此程序的优点是算法简单,易于实现。但是由于采用的是顺序存储的形式,导致算法的时间性能和空间性能不是很好,而且本程序的的健壮性不是很好,对空间不够的情况没有很人性化的提出解决方案。七、讨论、心得改进思想:#defineLIST_INIT_SIZE100typedefstruct{int*elem;

9、intlength;intlistsize;}sqlist;voidcreat_sqlist(sqlist*p){inti,l;Word资料.p->elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int));if(!p->elem){printf("OVERFLOW");exit(1);}printf("Pleaseinputlength:");scanf("%d",&l);p->length=l;p->listsize=LIST_INIT_SIZE;printf("Inputs

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。