数据结构课程设计答辩课件.ppt

数据结构课程设计答辩课件.ppt

ID:57001754

大小:75.50 KB

页数:15页

时间:2020-07-26

数据结构课程设计答辩课件.ppt_第1页
数据结构课程设计答辩课件.ppt_第2页
数据结构课程设计答辩课件.ppt_第3页
数据结构课程设计答辩课件.ppt_第4页
数据结构课程设计答辩课件.ppt_第5页
资源描述:

《数据结构课程设计答辩课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构课程设计答辩PPT集合的交,并和差运算嵌入式1091刘伟选择题目集合的交、并、差的运算1、问题描述:编写一个能演示执行集合的交、并、差的运算程序。2、基本要求:集合元素用小写英文字母,执行各种操作应以对话方式执行。2、算法要点:利用单链表表示集合;理解好三种运算的含义。设计要点:1、有序表的抽象数据类型定义为:readdata(pointerhead)初始条件:head是以head为头节点的空链表。操作结果:生成以head为头节点的非空链表。pop(pointerhead)初始条件:head是以hea

2、d为头节点的非空链表。操作结果:将以head为头节点的链表中数据逐个输出。2、集合的抽象数据类型定义为:and(pointerhead1,pointerhead2,pointerhead3)初始条件:链表head1、head2、head3已存在操作结果:生成一个由head1和head2的并集构成的集合head3。or(pointerhead1,pointerhead2,pointerhead3)初始条件:链表head1、head2、head3已存在操作结果:生成一个由head1和head2的交集构成的集合he

3、ad3。differ(pointerhead1,pointerhead2,pointerhead3)3、本程序抱含四个模块:1)节点结构单元模块——定义有序表的节点结构;2)有序表单元模块——实现有序表的抽象数据类型;3)集合单元模块——实现集合获得抽象数据类型;4)主程序模块:Voidmain(){初始化;do{……;……;}while(“命令”!=“退出”);}算法的设计1、定义结构体类型指针:typedefstructLNode{chardata;structLNode*next;}*pointer;2

4、、定义输入集合函数:voidreaddata(pointerhead)//定义输入集合函数{pointerp;chartmp;scanf("%c",&tmp);while(tmp!=''){p=(pointer)malloc(sizeof(structLNode));p->data=tmp;p->next=head->next;head->next=p;scanf("%c",&tmp);}}3、定义输出集合:voidpop(pointerhead){pointerp;p=head->next;while(

5、p!=NULL){printf("%c",p->data);p=p->next;}printf("");}4、定义集合的并集函数:voidand(pointerhead1,pointerhead2,pointerhead3){pointerp1,p2,p3;p1=head1->next;while(p1!=NULL){p3=(pointer)malloc(sizeof(structLNode));p3->data=p1->data;p3->next=head3->next;head3->next=p3;p

6、1=p1->next;}p2=head2->next;while(p2!=NULL){p1=head1->next;while((p1!=NULL)&&(p1->data!=p2->data))p1=p1->next;if(p1==NULL){p3=(pointer)malloc(sizeof(structLNode));p3->data=p2->data;p3->next=head3->next;head3->next=p3;}p2=p2->next;}}5、定义集合的交集函数:voidor(pointer

7、head1,pointerhead2,pointerhead3){pointerp1,p2,p3;p1=head1->next;while(p1!=NULL){p2=head2->next;while((p2!=NULL)&&(p2->data!=p1->data))p2=p2->next;if((p2!=NULL)&&(p2->data==p1->data)){p3=(pointer)malloc(sizeof(structLNode));p3->data=p1->data;p3->next=head3->

8、next;head3->next=p3;}p1=p1->next;}}6、定义集合的差集函数:voiddiffer(pointerhead1,pointerhead2,pointerhead3){pointerp1,p2,p3;p1=head1->next;while(p1!=NULL){p2=head2->next;while((p2!=NULL)&&(p2->data!=p1->data))p2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。