




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、共享知识分享快乐盛年不重来,一日难再晨。及时宜自勉,岁月不待人题目一:集合的并、交运算1设计思想首先,建立两个带头结点的有序单链表表示集合A和B。须注意的是:利用尾插入法建立有序单链表,输入数值是升序排列。其次,根据集合的运算规则,利用单链表的有序性,设计交、并和差运算。 根据集合的运算规则,集合AGB中包含所有既属于集合A又属于集合B的元素。 因此,须查找单链表A和B中的相同元素并建立一个链表存于此链表中。根据集合的运算规则,集合 A U B中包含所有或属于集合 A或属于集合B 的元素。因此,遍历两链表的同时若元素相同时只将集合A中的元素存于链表中,若集合A中的下一个元素小于B中的元素就将A
2、中的元素存于新建的链表 中。反之将B中的元素存于链表中。2所用数据结构线性结构利用链式存储结构实现集合的基本运算。3源代码分析#i nclude#in clude#defi ne ERROR 0#defi ne OK 1typedef int Status;typedef char Elemtype;typedef struct LNode线性表的链式存储结构Elemtype data;struct LNode *n ext;L node,*L in klist;#i ncludetext.hLNode* Greatlist(i nt *N,i nt n)建立一个带有头结点的单链表Lin kl
3、ist p,q,L;L=p=(LNode *)malloc(sizeof(LNode);L- next=NULL;if(n !=0)for(i nt i=0;i data=Ni;p-n ext=q;指针后移p=q;p-next=NULL; /对于非空表,最后结点的指针域放空指针return L;LNode* jiaoji(Li nklist la,L i nklist lb)/ 求两集合的交集Lin klist pa,pb,pc,Lc;pa=la-n ext;pb=lb-n ext;Lc=(Li nklist)malloc(sizeof(LNode);申请存储空间Lc- next=NULL;p
4、c=Lc;while(pa&pb)if(pa-data=pb-data)pc-next=(Linklist)malloc(sizeof(LNode); 若相等就申请存储空间链至U Lc上pc=pc- n ext;pc-data=pa-data;pa=pa-next;/la, lb 的指针后移pb=pb-n ext;else if(pa-datapb-data)/若 pa所指的元素大于 pb所指的元素 pb指针后移pb=pb-n ext;elsepa=pa-n ext;pc-next=NULL; 最后给 pc 的 next 赋 NULLreturn Lc;LNode* bingji(Linkli
5、st la,Linklist lb) / 求两集合的并集Lin klist pa,pb,pc,lc;pa=la-n ext;pb=lb-n ext;lc=(L in klist)malloc(sizeof(LNode);lc- next=NULL;pc=lc;while(pa&pb)if(pa-data=pb-data)pc-next=(Linklist)malloc(sizeof(LNode); 若 pa 所指的元素等于 pb所指的元素申请空间将值存入链表lc, pa, pb指针后移pc=pc- n ext;pc-data=pa-data;pa=pa-n ext;pb=pb-n ext;el
6、se if(pa-datapb-data)pc-next=(Linklist)malloc(sizeof(LNode); 若 pa 所指的元素大于 pb所指的元素申请空间将值存入链表lc, pb指针后移pc=pc- n ext;pc-data=pb-data;pb=pb-n ext;elsepc-next=(Linklist)malloc(sizeof(LNode); 若 pa 所指的元素小于 pb所指的元素申请空间将值存入链表lc,pa指针后移pc=pc- n ext;pc-data=pa-data;pa=pa-n ext;pc-n ext=pa?pa:pb;return lc;void P
7、rin t_Li nkList(Li nklist L)输出元素Lin klist p=L-n ext;while(p)/链表不为空时输出链表中的值printf( %3c ,p-data);p=p-n ext;printf( n);void main()Li nklist L1,L2 丄 a丄b;int A4=a,b,c,f;int B4=c,d,e,f;printf(1)含多个结点的顺序表 a , b和cc, fn e , f printf(建立链表L1为n);L1= Greatlist(A,4);Prin t_Li nkList(L1);printf(建立链表L2为n);L2=Greatl
8、ist(B,4);Prin t_Li nkList(L2);printf(两链表的交集为:n);La=jiaoji(L1,L2);Prin t_Li nkList(La);prin tf(两链表的并集为:n);Lb=b in gji(L1, L2);Prin t_Li nkList(Lb);printf(2)含一个结点的顺序表 a和空表n);int A11=a;int B11=0;printf(建立链表L1为n);L1= Greatlist(A1,1);Prin t_Li nkList(L1);printf(建立链表L2为n);L2=Greatlist(B1,0);Prin t_Li nkLi
9、st(L2);prin tf(两链表的交集为:n);La=jiaoji(L1,L2);Prin t_Li nkList(La);prin tf(两链表的并集为:n);Lb=b in gji(L1, L2);Prin t_Li nkList(Lb);printf(3)2 个空表 n);int A21=0;int B21=0;printf(建立链表L1为n);L仁 Greatlist(A2,0);Prin t_Li nkList(L1);printf(建立链表L2为n);L2=Greatlist(B2,0);Prin t_Li nkList(L2);prin tf(两链表的交集为:n);La=ji
10、aoji(L1,L2);Prin t_Li nkList(La); printf(两链表的并集为:n);Lb=b in gji(L1, L2);Prin t_Li nkList(Lb);free(L1);free(L2);free(La);free(Lb);4测试数据及运行结果(1) 含多个结点的顺序表a , b 和 cc, : f d e , f(2) 含一个结点的顺序表 a和空表(3)2个空表Cffli C ;丫i n d mu ssy5-te m 3 PfmcL exeQ含多个结点的顺序表,JH J J J A】和J L J打 建盖岳夷“a b c f建立链表毗为两链表的交集为:c f两链衷的井集为匕a b c d e f2)含一士结点的顺序表【*】和空表门3L建立链表晞为两链表的交集为1两链表的井集为;a.禹2个空表建立链表X为建立.链表凹为两链衷的交集为:两链表的并集为请按任意键继续5算法分析(1) LNode* Greatlist()尾插法建立链表算法的时间复杂度为o (n), n为输入元素个数。(2) LNode* jiaoji(Linklist la,Linklist lb)算法时间复杂度为O (m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 输液反应处理及护理措施
- 健康饮料线上挑战赛与实施创新创业项目商业计划书
- 2025年广安安农发展集团有限公司招聘考试笔试试题(含答案)
- 编程小达人乐园创新创业项目商业计划书
- 保温杯套装创新创业项目商业计划书
- 含油果环保包装材料创新创业项目商业计划书
- 汽车车载导航精准设计创新创业项目商业计划书
- 虚拟现实艺术创作工具创新创业项目商业计划书
- 2025年电商平台售后服务创新模式与客户体验提升研究
- 2025年汽车轻量化材料在汽车轻量化车身制造中的创新应用报告
- 循证医学中常用的统计指标演示
- 生物化学英文版教学课件:Biochemistry-chapter 1(英文1)
- 2023年版企业投资项目可行性研究报告编写参考大纲
- 陕西省中考数学历年(2016-2022年)真题分类汇编专题8四边形及答案
- 沈阳市双倍德化学厂锅炉改造项目环评报告
- GB/T 923-2009六角盖形螺母
- GB/T 35690-2017弱磁材料相对磁导率的测量方法
- JB∕T 13977-2020 液化天然气(LNG)低温潜液泵
- 口咽通气道的使用方法
- 消防火灾自动报警主机更换(增加)施工方案
- 山西省太原市小升初语文试卷(含答案)
评论
0/150
提交评论