欢迎来到天天文库
浏览记录
ID:20829557
大小:369.50 KB
页数:20页
时间:2018-10-16
《数据结构课程设计报告-集合运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构课程设计报告设计题目:集合运算专业班级学生学号指导教师2011年5月19目录一.设计题目2(一).题目:集合运算2(二).问题描述和分析2二.设计内容3(一).数据结构设计3(二).算法设计3三.概要设计4(一).程序结构图4(二).具体程序设计4四.算法分析5源代码5五.结果分析16六.心得体会21七.参考文献2219一.设计题目(一).题目:集合运算功能:使用链表来表示集合,完成集合的合并,求交集等操作。主要包含以下内容:1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2.完成最低要求;3.进
2、一步要求:要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。(二).问题描述和分析本课程设计中,链表长度不能超过100,集合输入的形式为一个以“回车符”为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序应能自动滤。输出的运算结果字符串中将不含重复字符或非法字符。问题描述:有两个集合A、B,要求它的交集、并集。用两个链表L1、L2存储集合A、B。描述该问题的存储结构
3、,算法,并通过编写程序来实现。问题分析:1.定义一个链表来存储集合元素;2.链表L包括数据域和指针域,数据域中存储集合元素,指针域中存储下一个集合元素的位置;3.创建若干个基本函数,通过函数调用对链表进行作,实现集合的交、并运算。19二.设计内容(一).数据结构设计1.数据结构设计考虑创建三个带头结点的单链表,用来存储两个集合中的元素和最终的结果,为实现集合的交,并运算功能,应以有序链表表示集合。为此,需要两个抽象数据类型:有序表和集合。2.逻辑结构存储结构逻辑结构:创造一个带结点的单链表包括(头结点L,结点若干,尾结点)
4、单链表中每个结点包括(*next表示指针data表示域)(二).算法设计程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据(滤输入中的非法字符)和运算结果显示在其后。程序执行的命令包括:a)构造集合A;b)构造集合B;c)求交集;d)求并集;e)结束。“构造集合A”和“构造集合B”时,需以字符串的形式键入集合元素。19三.概要设计(一).程序结构图Main函数InterSect交函数Union并函数Sort链表排序函数CreateList尾插法
5、建表DispList输出函数(二).具体程序设计1.定义链表typedefintElemType;typedefstructLnode2.返回链表长度3.返回指定节点的值4.定位制定值的节点的值5.显示链表voiddisplay(structLnode**L)6.创建链表,并设置链表为空voidcreat(structLnode**L)7.向链表中插入元素voidinsert(structLnode**L,intn,ElemTypex)8.插在第n个节点的前面9.删除指定位置的节点10.初始化链表voidinit(stru
6、ctLnode**L,intlen)11.复制链表L1到L2voidcopy(structLnode**L1,structLnode**L2)12.求交集voidintersection(structLnode**L1,structLnode**L2,structLnode**L3)13.求并集unionset(structLnode**L1,structLnode**L2,structLnode**L3)14.把L1复制到L3,然后比较L2和L3,得到L2与L3中没有的元素,并插入15.插在排序的位置上insert(&*
7、L3,k,t2->data);16.插在链尾19四.算法分析源代码如下:#include#include#include#definenull0#defineM100typedefintElemType;/*定义链表*/typedefstructLnode{ ElemTypedata; structLnode*next;};intlenth(structLnode**L){ intn=0; structLnode*t; t=*L; while(
8、t!=null) { n++; t=t->next; } returnn;}ElemTypeget(structLnode**L,intn){ inti=1; structLnode*t; t=*L; while(i
此文档下载收益归作者所有