欢迎来到天天文库
浏览记录
ID:5407595
大小:1.36 MB
页数:50页
时间:2017-12-10
《中南大学数据结构演示系统课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计报告2010-7-950中南大学数据结构演示系统课程设计实验报告一、需求分析1、课程设计题目数据结构演示系统1(1)、顺序表的插入、删除和合并等基本操作(2)、利用插入运算建立链表;实现链表的查找、删除、计数、输出等功能以及有序链表的合并。(3)、串的模式匹配(包括求next和nextval的值)。2程序模块的功能要求(1)输入的形式和输入值的范围(2)顺序表和链表的输入形式是整形,输入值的范围是-32768~~32767。串的输入形式是字符型(3)输出的形式50课程设计报告2010-7-950顺序表和链表的输出形式是整形;串的输出形式是字符
2、型。(1)程序所能达到的功能;实现顺序表的创建、插入、删除和合并实现链表的创建、查找、删除、计数、输出和有序链表的合并实现串的模式匹配(包括求next和nextval的值)(2)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果顺序表的输入:12/26/65/65/216/898/989/215650课程设计报告2010-7-950链表输入:12/32/35/56/65/654/98550课程设计报告2010-7-950一、概要设计1、定义定义顺序表的结构体typedefstructlnode{intdata;structlnode*n
3、ext;}linklist;定义链表的的结构体typedefstruct{intlen;linklist*point;}indexlink;typedefstruct{intdata[MAXSIZE][MAXSIZE1+1];intlen;定义串的结构体}sqlist;50课程设计报告2010-7-950typedefstruct{charstring[MAXSIZE1];intlen;}sstring;intnext[MAXSIZE1];intnextval[MAXSIZE1];2流程图(1)主界面50课程设计报告2010-7-950主菜单界面选择
4、:顺序表;链表;串;离开顺序表操作链表操作创建删除合并查找删除计数浏览串操作求next求nextval结束插入创建合并创建主串创建子串插入(2)顺序表主流程图inti=0SqListLa;inext!=NULL)&&
5、(jnext;j++;MultiIFq=(LinkList)malloc(sizeof(structLNode));j!=i(4)链表主流程图printf("tBasicoperationofthelinearlist");LinkListhead1,head2;AutoFlowChart:Auj==1wemail:50课程设计报告2010-7-950YESMultiprintf("Inputlinearlis
6、tb:(inputintegralendby0)");1(5)链表删除元素流程图(p->next)&&(jnext;j++;MultiMultiYESp==NULLj!=(i-1)(6)模式匹配主流程图s.string[i]!=' 'sstrings,t;AutoFlowChart:website:50课程设计报告2010-7-950t.len=i;t.string[i]!=' 's.len=i;(7)KMP求next【】流程图i7、t.leninti,j,k;AutoFlowCharwebsitj==-18、9、s.string[i]==t.string[j]50课程设计报告2010-7-950j=nextval[j];YESk=-1;returnk+1;j>=t.len3各程序模块之间的层次关系(1)第一层为主界面函数,第二层为顺序表界面函数、链表界面函数、模式匹配界面函数第三层为顺序表子函数、链表子函数、模式匹配子函数(2)主界面函数调用的函数有sqlistfuc()、linklistfuc()、indexfuc()顺序表界面调用的函数有creatsq()、listinsert10、()、listdelete()、mergelist()链表界面调用的函数有creat()、insert()、
7、t.leninti,j,k;AutoFlowCharwebsitj==-1
8、
9、s.string[i]==t.string[j]50课程设计报告2010-7-950j=nextval[j];YESk=-1;returnk+1;j>=t.len3各程序模块之间的层次关系(1)第一层为主界面函数,第二层为顺序表界面函数、链表界面函数、模式匹配界面函数第三层为顺序表子函数、链表子函数、模式匹配子函数(2)主界面函数调用的函数有sqlistfuc()、linklistfuc()、indexfuc()顺序表界面调用的函数有creatsq()、listinsert
10、()、listdelete()、mergelist()链表界面调用的函数有creat()、insert()、
此文档下载收益归作者所有