欢迎来到天天文库
浏览记录
ID:46252753
大小:130.62 KB
页数:53页
时间:2019-11-22
《计专数据结构实验指导书》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、陕西理工学院重点课程《数据结构》实验指导书曹记东李征郭天印编著计算机科学与技术系2011年9月《数据结构》上机实验的目的和要求1实验一线性表的插入和删除2实验二单链表的插入和删除5实验三栈9实验四栈和队列12实验五二叉树操作17实验六哈夫曼树的应用21)丿J彳匸28实验八排序35实验九查找41实验十哈希表设计46《数据结构》上机实验的目的和要求通过上机实验加深对课程内容的理解,增加感性认识,提高软件设计、编写及调试程序的能力。要求所编的程序能正确运行,并捉交实验报告。实验报告的基本要求为:1、需求分析:陈述程序设计的任务,强调程序耍做什么,明确规定:(1)输入的形式和输出值的范围;(2
2、)输出的形式;(3)程序所能达到的功能;(4)测试数据:包括正确的输入输出结果和错误的输入及输出结果。2、概要设计:说明用到的数据结构定义、主程序的流程及各程序模块Z间的调用关系。3、详细设计:提交带注释的源程序或者用伪代码写出每个操作所涉及的算法。4、调试分析:(1)调试过程中所遇到的问题及解决方法;(2)算法的时空分析;(3)经验与体会。5、用户使用说明:说明如何使用你的程序,详细列出每一步操作步骤。6、测试结果:列出对于给定的输入所产生的输出结果。若有可能,测试随输入规模的增t所用算法的实际运行时间的变化。实验一顺序表的插入和删除一、实验目的1、掌握用TurboC上机调试线性表的
3、基本方法;2、掌握线性表的基本操作,插入、删除、查找,以及线性表合并等运算在顺序存储结构和链接存储结构上的运算。二、实验内容线性表基木操作(插入、删除、查找、合并)的实现三、程序实现:typedefNull0;typedefintdatatype;#definemaxsize1024;typedefstruct{datatypedata[maxsize];intlast;}sequenlist;intinsert(L5x,i)sequenlist*L;inti;{intj;if((*L).last==maxsize-l){printf("overflow”);returnNull;}e
4、lseif((i(*L).last+l){printfferror'');returnNull;}else{for(j=(*L).last;j>=i-l;j-)(*L).data[j+l]=(*L).data
5、j];(*L).data[i-l]=x;(*L).last=(*L).last+1;retum(l);intdelete(L,i)sequenlist*L;inti;{intj;if((i(*L)・last+l)){printf(“error");returnNull;else{for(j=ij<=(*L).last;j++)(*L).data[j
6、-l]=(*L).data[j];(*L).data--;/retum(l);voidcreatlist(){sequenlist*L;intn,i,j;printf(“请输入n个数据”);scanf(“%d",&n);fbr(i=O;i7、.data[i]);main(){sequenlist*L;charcmd;inti,t;clscr();printf(ui,I.....插入Jprintf(“d,D.....删除jprintf(“q,Q……退出)do{do{cmd=getchar();}while((cmd!=td,)II(cmd!=tD,)II(cmdl^q5)II(cmd!=tQ,)II(cmd!=T)II(cmd!=T));switch(cmd){casc'i',T;scanty&x);scanty&i);insert(L,x,i);printout(L);break;case’d','D';sca8、nR&i);delete(L,i);printout(L);break;ij}while((cmd!='q')&&(cmd!='Q'));实验二单链表的插入和删除一、实验目的:了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基木算法及相关的时间性能分析。二、实验内容:单链表的基本操作实现建立一个数据域定义为字符串的单链表,在链表屮不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。三、程序实现:#includenstdio
7、.data[i]);main(){sequenlist*L;charcmd;inti,t;clscr();printf(ui,I.....插入Jprintf(“d,D.....删除jprintf(“q,Q……退出)do{do{cmd=getchar();}while((cmd!=td,)II(cmd!=tD,)II(cmdl^q5)II(cmd!=tQ,)II(cmd!=T)II(cmd!=T));switch(cmd){casc'i',T;scanty&x);scanty&i);insert(L,x,i);printout(L);break;case’d','D';sca
8、nR&i);delete(L,i);printout(L);break;ij}while((cmd!='q')&&(cmd!='Q'));实验二单链表的插入和删除一、实验目的:了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基木算法及相关的时间性能分析。二、实验内容:单链表的基本操作实现建立一个数据域定义为字符串的单链表,在链表屮不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。三、程序实现:#includenstdio
此文档下载收益归作者所有