




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*9、集合操作(分)基本功能要求:()从文件中读入集合数据建立单链表。()分别求出集合的交、并、差。*/#include#include#define MaxSize 33typedef int ElemType;typedef structElemType dataMaxSize+1;int length;SqList;void InitList(SqList *&L)/创建空的顺序表L=(SqList *)malloc(sizeof(SqList);L-length=0;void CreateList(SqList *&L)/向数据表输入数据int i=1,n;printf(Please input the data and end up with 0:n);scanf(%d,&n);L-length=0;while(n!=0 & L-length datai=n;i+;L-length+;scanf(%d,&n);int LengthList(SqList *&L)/顺序表长度return(L-length);int GetElem(SqList *L,int i,ElemType &e)/获取顺序表中的一个元素e=L-datai;if(iL-length)return 0;else return 1;int ListInsert(SqList *&L,int i,ElemType e)/在顺序表中i处插入指定元素eint j;if(iL-length+1 | L-length=MaxSize)return 0;for(j=L-length;j=i;j-)L-dataj+1=L-dataj;L-datai=e;L-length+;return 1;void ListDelete(SqList *&L,int i,ElemType &e)/删除相同元素int j;if(iL-length)printf(ERROR!);e=L-datai;for(j=i+1;jlength;j+)L-dataj-1=L-dataj;L-length-;void ClearList(SqList *&L)/清除顺序表中重复元素int i,j,e;for(i=1;ilength;i+)for(j=i+1;jlength;j+)if(L-datai!=L-dataj)continue;elseif(L-datai=L-dataj & jlength)ListDelete(L,j,e);j-;elseif(L-datai=L-dataj & j=L-length)ListDelete(L,j,e);void MergeList(SqList *LA,SqList *LB,SqList *&LC)/求两个集合并集int i=1,j=1,k=0;ElemType ai,bj;int LA_len,LB_len;InitList(LC);LA_len=LengthList(LA);LB_len=LengthList(LB);/*while(i= LA_len) & (j= LB_len)/该段备注加上则为按顺序排开的GetElem(LA, i, ai); GetElem(LB, j, bj); if (ai = bj) ListInsert(LC, +k, ai); +i; else ListInsert(LC, +k, bj); +j; */ while (i = LA_len)/向LC添加元素 GetElem(LA, i+, ai); ListInsert(LC, +k, ai); while (j = LB_len) GetElem(LB, j+, bj); ListInsert(LC, +k, bj); ClearList(LC);/清除重复元素printf(The merged list(without order) is:);/显示并集for(i=1;ilength;i+)printf(%3d,LC-datai);printf(n);void CrossList(SqList *LA,SqList *LB,SqList *&LD)/求两个集合的交集InitList(LD);int i,j,k=0;for(i=1;ilength;i+)for(j=1;jlength;j+)if(LA-datai=LB-dataj)ListInsert(LD,+k,LA-datai);if(LD-length=0)printf(The crossed list is:);/若无相同元素则交集为空printf(空集n);elseprintf(The crossed list is:);/显示交集for(i=1;idatai);printf(n);int LocateElem(SqList *L,ElemType e)/搜索数值相同元素int i=1;while(ilength &L-datai!=e)i+;if(iL-length)return 0;else return i+1;void DifferList(SqList *LA,SqList *LB,SqList *&LE) /求A-B的差集,即A中存在B中不存在的元素int i,k=0;InitList(LE);for(i=1;ilength;i+)if(!LocateElem(LB,LA-datai)/在LB中搜索数值不相同的元素ListInsert(LE,+k,LA-datai);ClearList(LE);printf(The defferd list (A-B) is:);for(i=1;ilength;i+)printf(%3d,LE-datai);printf(n);void main()SqList *LA;SqList *LB;SqList *LC;SqList *LD;SqList *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025机务考试题目及答案
- 2025中航培训面试题及答案
- 2025模拟飞行理论试题及答案
- 2025至2030年中国全棉人字斜绒布市场分析及竞争策略研究报告
- 安全招聘考试试题及答案
- 高空作业维修施工合同(3篇)
- 高空水管施工合同范本(3篇)
- 爱心树心理测试题及答案
- 电动汽车充电桩建设与运维项目融资合同
- 知识产权质押担保贷款协议
- 大模型概念、技术与应用实践 课件 第6章 智能体
- 生物制药技术专业介绍
- 2024年辽宁轨道交通职业学院单招《英语》真题含完整答案详解【易错题】
- 2025年picc置管与维护临床护理实践指南
- 成功销售的八种武器-大客户销售策略
- 2025年浙江省中考科学试题卷(含答案解析)
- 石油化工设备维护检修规程 第十册 空分设备
- 银行慈善管理办法
- 1.2 观察植物 课件 教科版(2024)一年级科学上册
- 供排水泵站运行工公司招聘笔试题库及答案
- 电磁计量员岗位面试问题及答案
评论
0/150
提交评论