欢迎来到天天文库
浏览记录
ID:25540780
大小:780.96 KB
页数:24页
时间:2018-11-20
《数据结构课程设计--集合的并、交和差运算》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计报告课程名称数据结构课题名称集合的并、交和差运算专业通信工程班级通信1101学号201103020127姓名皮锋指导教师张鏖烽田娟秀李杰君2013年6月29日湖南工程学院课程设计任务书课程名称数据结构课题集合的并、交和差运算专业班级通信1101学生姓名皮锋学号201103020127指导老师张鏖烽田娟秀李杰君审批任务书下达日期2013年6月23日任务完成日期2013年6月29日目录1.需求分析11.1.问题描述11.2.基本要求11.3.测试数据11.4.实现提示12.概要设计12.1.有序表的抽象数据类型定义为12.2.集合的定义为12.3.基本操作22.4.调用关系23.
2、详细设计43.1.具体算法流程43.2.具体的程序功能实现43.3.伪码算法54.调试分析94.1.调试过程中遇到的问题94.2.算法的时空分析95.用户使用说明106.测试结果116.1.做完一次运算后按回车键继续下一次运算116.2.做完运算后输入字母“e”退出运算127.总结128.附录138.1.程序源代码13集合的并、交和差运算1.需求分析1.1.问题描述编制一个能演示执行集合的并、交和差运算的程序。1.2.基本要求(1)集合的元素限定为小写字母字符[‘a’..’z’]。(2)演示程序以用户和计算机的对话方式执行。1.3.测试数据(1)Set1="magazine",Set
3、2="paper",Set1∪Set2="aegimnprz",Setl∩Set2="ae",Set1-Set2="gimnz"。(2)Set1="012oper4a6tion89",Set2="errordata",Set1∪Set2="adeinoprt",Setl∩Set2="aeort",Set1-Set2="inp"。1.4.实现提示以有序链表表示集合。2.概要设计为实现上述程序功能,应以有序链表表示集合。为此,需要两个抽象数据类型:有序表和集合。2.1.有序表的抽象数据类型定义为typedefstructLNode{chardata;structLNode*next;}L
4、inkList;2.2.集合的定义为charset1[maxsize],set2[maxsize];201.1.基本操作voidGreatListR(LinkList*&L,chara[],intn)//尾插法建表voidInitList(LinkList*&L)//初始化线性表voidDestroyList(LinkList*&L)//销毁线性表voidDispList(LinkList*L)//输出线性表voidsort(LinkList*&L)//元素排序voidbingji(LinkList*L,LinkList*N,LinkList*&M)//并集运算voiddels(Li
5、nkList*&M)//删除相同元素仅留一个voidjiaoji(LinkList*&M,LinkList*L,LinkList*N)//交集运算voidchayunsuan(LinkList*L,LinkList*M,LinkList*&K)//集合差运算intmain()//为设计程序主页面的函数,并且使用了所有的函数1.2.调用关系InitList(L);InitList(N);GreatListR(L,set1,i);GreatListR(U,set1,i);sort(U);//元素排序dels(U);//删除相同元素仅留一个sort(L);//元素排序dels(L);//删
6、除相同元素仅留一个printf("请输入集合set2=");for(j=0;j7、出运算?");scanf("%c",&n);if(n=='e')exit(0);DestroyList(L);DestroyList(N);DestroyList(U);DestroyList(M);DestroyList(K);system("PAUSE");201.详细设计1.1.具体算法流程图3-1具体算法流程1.2.具体的程序功能实现(1)利用c++引用类型,对线性表LinkList*L,*N进行初始化,并用for循环将将集合set1[maxs
7、出运算?");scanf("%c",&n);if(n=='e')exit(0);DestroyList(L);DestroyList(N);DestroyList(U);DestroyList(M);DestroyList(K);system("PAUSE");201.详细设计1.1.具体算法流程图3-1具体算法流程1.2.具体的程序功能实现(1)利用c++引用类型,对线性表LinkList*L,*N进行初始化,并用for循环将将集合set1[maxs
此文档下载收益归作者所有