- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计报告(集合的交并差运算).doc
淮 阴 工 学 院
数据结构课程设计报告
作 者: 学 号: 班 级: 学 院: 专 业: 题 目:
指导教师:
2016 年 1 月
目 录
1 课题描述 1
2 系统设计 1
2.1功能模块设计 1
2.1.1基于单链表设计 1
2.1.2基于顺序表设计 2
2.2数据结构设计 2
2.2.1基于单链表设计 2
2.1.2基于顺序表设计 3
2.3算法设计 3
2.3.1基于单链表,顺序表设计 3
3.1菜单设计(基于单链表) 5
3.2源代码设计(基于单链表) 5
3.3菜单设计(基于顺序表) 10
3.4源代码设计(基于顺序表) 10
4.1最终结果(基于单链表) 20
4.2最终结果(基于顺序表) 20
结 论 21
致 谢 22
参 考 文 献 23
1 课题描述
编制一个能演示执行集合的交、并和差运算的程序。集合元素用小写英文字母,执行各种操作应以对话方式执行。利用单链表表示集合;理解好三种运算的含义
2 系统设计
2.1功能模块设计
2.1.1基于单链表设计
(1)节点结构单元模块——定义有序表的节点结构;
typedef struct LNode//定义结构体类型指针
{ char data;
struct LNode*next;
}*pointer;
(2)readdata(pointer head)
初始条件:head是以head为头节点的空链表。
操作结果:生成以head为头节点的非空链表。
pop(pointer head)
初始条件:head是以head为头节点的非空链表。
操作结果:将以head为头节点的链表中数据逐个输出。
(3)集合单元模块——实现集合获得抽象数据类型;
and(pointer head1,pointer head2,pointer head3)
初始条件:链表head1、head2、head3已存在
操作结果:生成一个由head1和head2的并集构成的集合head3。
or(pointer head1,pointer head2,pointer head3)
初始条件:链表head1、head2、head3已存在
操作结果:生成一个由head1和head2的交集构成的集合head3。
(4)主程序模块
Void main(){
初始化;
do{
接受命令;
处理命令;
}while(“命令”!=“退出”);}
2.1.2基于顺序表设计
(1)顺序表结构单元模块——定义顺序表的结构体;
typedef struct //定义SeqList的结构体{
DataType list[MaxSize];
int size ;
} SeqList;
(2)void SelcetSort(SeqList *L ) //顺序表选择排序函数
void UnionSet(SeqList mylist1 , SeqList mylist2)//求并集函数
void MixedSet(SeqList mylist1 , SeqList mylist2)//求交集元素函数
void DiffentSet(SeqList mylist1 , SeqList mylist2) //求差集元素函数
(3)void main()
{ SeqList mylist1 , mylist2;//定义顺序表mylist
int i;
DataType temp;
ListInitiate( mylist1);
ListInitiate( mylist2);}//初始化两个顺序表
2.2数据结构设计
2.2.1基于单链表设计
定义结构体类型指针,集合采用单链表存储。
typedef struct LNode//定义结构体类型指针
head1=(pointer)malloc(sizeof(struct LNode));
head1-next=NULL;
head2=(pointer)malloc(sizeof(struct LNode));
head2-next=NULL;
head3=(pointer)malloc(sizeof(struct LNode));
2.1.2基于顺序表设计
typedef struct //定义SeqList的结构体
{ DataType list[MaxSize];
int size ;
void UnionSet(SeqList mylist1 , SeqList mylist2) //
您可能关注的文档
- 教育信息化与教学改革创新(2016-12-9).ppt
- 数字电子课程设计2016.ppt
- 数字电子钟 单片机已过课程设计.doc
- 数字电路课程设计____2014年.ppt
- 数字电路课程设计实习报告.doc
- 数字电路课程设计报告 设计课题: 数字电子钟逻辑电路设计.doc
- 数字逻辑电路课程设计 3.doc
- 数学思想方法(小学数学).ppt
- 数学的学习方法怎样学好数学.ppt
- 数据仓库实践-第二课 衣带渐宽终不悔,为伊消得人憔悴.pptx
- 职业技术学院2024级工业机器人技术(安装与维护)专业人才培养方案.docx
- 职业技术学院2024级应用化工技术专业人才培养方案.pdf
- 职业技术学院2024级软件技术(前端开发)专业人才培养方案.pdf
- 职业技术学院2024软件技术专业人才培养方案.docx
- 职业技术学院2024级信息安全技术应用(安全运维)专业人才培养方案.docx
- 职业技术学院2024级新能源汽车检测与维修技术(车辆鉴定与评估)专业人才培养方案.pdf
- 职业技术学院2024级石油炼制技术专业人才培养方案.pdf
- 职业技术学院2024级环境监测技术专业人才培养方案.docx
- 职业技术学院2024级汽车制造与试验技术专业人才培养方案.pdf
- 职业技术学院2024级信息安全技术应用专业人才培养方案.pdf
文档评论(0)