- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计报告-集合运算精选
数据结构
课程设计报告
设计题目: 集合运算
专 业
班 级
学 生
学 号
指导教师
2011年5月
目 录
一.设计题目 2
(一).题目:集合运算 2
(二).问题描述和分析 2
二.设计内容 3
(一). 数据结构设计 3
(二). 算法设计 3
三.概要设计 4
(一).程序结构图 4
(二).具体程序设计 4
四.算法分析 5
源代码 5
五.结果分析 16
六.心得体会 21
七.参考文献 22
一.设计题目
(一).题目:集合运算
功能:使用链表来表示集合,完成集合的合并,求交集等操作。
主要包含以下内容:
1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
2.完成最低要求;
3.进一步要求:
要求:1)界面友好,函数功能要划分好
2)总体设计应画一流程图
3)程序要加必要的注释
4)要提供程序测试方案
5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
(二).问题描述和分析 本课程设计中,集合输入的形式为一个以“回车符”为标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序应能自动滤。输出的运算结果字符串中将不含重复字符或非法字符。 问题描述: 有两个集合A、B,要求它的交集、并集。用两个链表L1、L2存储集合A、B。描述该问题的存储结构,算法,并通过编写程序来实现。问题分析: 1. 定义一个链表来存储集合元素; 2. 链表L包括数据域和指针域,数据域中存储集合元素,指针域中存储下一个集合元素的位置; 3. 创建若干个基本函数,通过函数调用对链表进行作,实现集合的交、并运算。 .设计内容
(一). 数据结构设计 1. 数据结构设计考虑 创建三个带头结点的单链表,用来存储两个集合中的元素和最终的结果,为实现集合的交,并运算功能,应以有序链表表示集合。为此,需要两个抽象数据类型:有序表和集合。 2. 逻辑结构存储结构 逻辑结构: 创造一个带结点的单链表包括(头结点L,结点若干,尾结点) 单链表中每个结点包括(*next 表示指针data表示域) 算法设计 程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据(滤输入中的非法字符)和运算结果显示在其后。 程序执行的命令包括: a) 构造集合A; b) 构造集合B; c) 求集; d) 求集; ) 结束。 “构造集合A”和“构造集合B”时,需以字符串的形式键入集合元素。
(二).具体程序设计
1.定义链表 typedef int ElemType;typedef struct Lnode
2.返回链表长度
3.返回指定节点的值
4.定位制定值的节点的值
5.显示链表 void display(struct Lnode **L)
6.创建链表,并设置链表为空 void creat(struct Lnode **L)
7.向链表中插入元素 void insert(struct Lnode **L,int n,ElemType x)
8.插在第n个节点的前面
9.删除指定位置的节点
10.初始化链表 void init(struct Lnode **L,int len)
11.复制链表L1到L2 void copy(struct Lnode **L1,struct Lnode **L2 )
12.求交集
void intersection(struct Lnode **L1,struct Lnode **L2,struct Lnode **L3)
13.求并集
unionset(struct Lnode **L1,struct Lnode **L2,struct Lnode **L3)
14.把L1复制到L3,然后比较L2和L3,得到L2与L3中没有的元素,并插入
15.插在排序的位置上
insert(*L3,k,t2-data);
16.插在链尾
四.算法分析
源代码如下:
#include stdio.h#include stdlib.h#include alloc.h#define null 0#define M 100typedef int ElemType; /*定义链表*/typedef struct Lnode{??? ElemType data;??? struct Lnode
您可能关注的文档
- 数学建模论文-基于交比不变性和针孔模型的数码相机系统标定精选.doc
- 数学建模论文-基于古典概率模型的水资源短缺综合评价及其应用精选.doc
- 数学建模论文-基于层次分析法与模糊评价的宿舍评估模型精选.doc
- 数学建模论文-城市表层土壤重金属污染分析精选.doc
- 数学建模论文-基于差分方程的人口预测模型精选.doc
- 数学建模论文-基于多状态概率转移和排队论模型下的眼科病床安排精选.doc
- 数学建模论文-基金使用计划精选.doc
- 数学建模论文-基于达西定律对水量计算问题的研究精选.doc
- 数学建模论文-天然肠衣搭配问题精选.doc
- 数学建模论文-最优控制设计精选.doc
- 湖南省长沙市湖南师范大学附属中学2025学年高一下学期第二次大练习历史(原卷版).docx
- 直播带货赋能零售业创新:2025年市场分析与规范策略.docx
- 游戏玩家游戏操作反馈及时性优化与痛点解决方案报告.docx
- 课间纪律主题班会课小学生.pptx
- 中东地区家电市场拓展策略:2025年行业竞争力与出口报告.docx
- 新能源汽车在城市公共交通中的充电设施智能化升级研究报告.docx
- 中卫保健院临床考试试题及答案2025版.docx
- 智能医疗服务平台服务质量评价体系构建与创新.docx
- 2025年物流运输智能化升级对供应链效率影响研究报告.docx
- 智能硬件生态构建案例研究:品牌建设与竞争策略.docx
最近下载
- 冠心病合并房颤的抗凝抗栓策略.ppt VIP
- 副高中医护理试题及答案.docx
- 员工职业发展通道设计课程.ppt VIP
- 注册安全工程师中级其他安全生产专业实务(电气安全)模拟试卷3.pdf VIP
- VDI2230高强度螺栓连接的系统计算中文版.pdf VIP
- 汉威KB500可燃气体报警控制器使用说明书.pdf
- 2024-2030全球摩托车和机车头盔行业调研及趋势分析报告.docx
- 2024-2030全球全面式蓝牙摩托车头盔行业调研及趋势分析报告.docx
- 神木市东安煤业有限公司煤炭资源整合项目(0.60Mt_a)(重大变动)环境影响报告书.pdf VIP
- (高清版)DB11∕T 1702-2019 生活饮用水样品采集技术规范.pdf VIP
文档评论(0)