欢迎来到天天文库
浏览记录
ID:41707279
大小:162.48 KB
页数:37页
时间:2019-08-30
《数据结构课程设计报告--演示系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、中南大学《数据结构》课程设计数据结构演示系统课程设计报告学院W业班级学号姓名完威日期_一一三四五亠八七/(需求分析・概要设计・详细设计・调试分柝测试结果.设计总结-参考文南定附录程序・课程设计题目数据结构演示系统1(1)、顺序表的插入、删除和合并等基本操作(2)、利用插入运算建立链表;实现链表的查找、删除'计数、输出等功能以及有序链表的合并。(3)、串的模式匹配(包括求next和nextval的值)。2程序模块的功能要求(1)输入的形式和输入值的范围(2)顺序表和链表的输入形式是整形,输入值的范围是0---99
2、99o串的输入形式是字符型(1)输出的形式顺序表和链表的输出形式是整形;串的输出形式是字符型。(2)程序所能达到的功能;实现顺序表的创建、插入、删除和合并实现链表的创建、查找、删除、插入、输出。实现串的模式匹配(包括求next和nextval的值)(5)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果顺序表的输入:0
3、11
4、22
5、33
6、44
7、55
8、66
9、77
10、88
11、99
12、顺序表为:II0I11122
13、33
14、44
15、I55
16、厶2乙土、■/c66
17、77
18、88
19、99
20、链表输入:23456789请输入一组
21、正整数叹o结束输入:建立链表成功!Flfedii连表为:23456789概要设计1,定定义顺序表的结构体typedefintElemType;typedefstruct{ElemTypedata[MAXSIZE];intlength;}SqList;定义链表的结点结构typedefstructnode结构类型*/{intdata;structnode*next;}linklist;定义字符串的数组结构〃定义顺序表结构体/*定义单链表结点/*结点的数据域*//*结点的指针域*/intIndexBFfchars[]
22、,chart[],intpos){intijmn;i=pos-l;j=0;m=strlen(s];n=strlen(t);2,主流程图3,各模块之间的层次关系(1)第一层为主界面函数,第二层为顺序表界面函数、链表界面函数、模式匹配界面函数第三层为顺序表子函数、链表子函数、模式匹配子函数(2)主界面函数调用的函数有sqlistfucOxIinkIistfucOvindexfuc()顺序表界面调用的函数有creatsq()、Iistinsert()、IistdeIete()、mergeIist()链表界面调用的函数
23、有creat()、insert。、delete。、search0\mergeIink0x模式匹配界面调用的函数有creatstringO、KMP(),GetNext(),GetNextvaI三,详细设计(见附录)调试分析1、调试过程中遇到的问题是如何解决的以及对设计与实现的讨论和分析(1)一开始在在调试程序时遇到了内存错误,最终通过网上查资料找到了出错的原因:在建立对头指针和队尾指针时没有对指针进行初始化,即没有为指针动态分配空间。(2指针变量没有初始化。定义一个指针变量,C编译系统即为它开辟了一个存储空间,
24、如果不进行初始化,则存放的是一个随机地址,它指向的位置就不确定,这在c中是很危险的,如果让一个随机的指针去指向一个随机的地址的话,可能会指向系统的工作区域,破坏数据,从而破坏某种设置,结果可能会使系统运行失常、死机甚至瘫痪。(3)警告错误太多。忽略这些警告错误并不影响程序的执行,但有时会影响到程序的执行结果,所以一定要对“WARNING”错误引起足够重视,编程时尽量按照警告信息消除可能影响程序结果的隐患。编译时当警告错误数目大于某一规定值时(缺省为100)便退出编译器,这时应改变集成开发环境菜单Options/
25、Compiler/Errors中的有关警告错误检查开关为Offo(4)循环语句中,循环控制变量在每次循环未进行改变,使循环成为死循环;或和在循环语句中,不能正确的给循环变量初始化,造成循环次数不合乎要求,得不到正确的结果。2、算法的时间复杂性(1)顺序表查找的时间复杂度为:0(1)x插入的时间复杂度为:0(N)、删除的时间复杂度为:0(N)、合并的时间复杂度为:0(N)(2)有序链表插入、查找、删除、合并的时间复杂度分别为为:0(N)、0⑴、0⑴、0(N)(3)KMP模式匹配的时间复杂度为:0(N*M)三,测试
26、结果运行环境:C-Free41,编译进入主界面:*二+二♦斗討斗二.二*二栏七■二♦二*斗斗斗二栏*斗二杠*二杠・討壬勺]居结构厨示系统*»林******************请选括j桑作**1.顺您義镇屣*卜2・聽表操作**-3.字符串模式匹配*p4.按任意其他数字退出系统*福选择数字进行操作:2,输入数字1进入顺序表界面*******1•建立一个顺序表2.输出一个jl阪岸裏3•在
此文档下载收益归作者所有