- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告(集合的交并差运算)课案
淮 阴 工 学 院
数据结构课程设计报告
作 者: 学 号: 班 级: 学 院: 专 业: 题 目:
指导教师:
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) //求并集
{
int m, i,j ;
DataTyp
文档评论(0)