免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CRRA 1306-2022废旧电器电子产品线上线下耦合回收系统技术规范
- 岗位员工培训进度绩效衡量表
- 医院主治医生医疗质量绩效考核表
- 江西省吉安市井冈山市2025-2026学年中考数学适应性模拟试题含解析
- 汽车制造企业生产线上装配工作业效率与质量绩效考核表
- 汽车制造行业技术工程师产品创新与技术支持KPI考核表
- 教育辅导班课程顾问工作效果KPI考核表
- 体育场馆运动指导师绩效考评表
- 数据中心网络管理自动化手册
- 微波铁氧体器件调测工岗前绩效目标考核试卷含答案
- 2026-2027学年小学五年级上册数学全册教案(教学设计)人教版
- (零模)南京市2027届高三年级学情调研语文试卷(含答案)
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- (正式版)DB34∕T 4541-2023 《废弃露天采坑一般工业固废处置与生态修复技术规范》
- 2026年湖北省检察官、法官入员额考试真题(附答案)
- 常见ABO疑难血型案例分析
- 【新教材】2026年秋季统编版九年级上册道德与法治第一单元 坚持党的全面领导 考点速记+练习题(含答案)
- 新闻学概论(李良荣)超全版笔记
- 炼油与化工装置离心式压缩机组在线监测系统技术规范
- 2025年【小学】汉字听写大会竞赛题库(含答案)
- 奇妙的七巧板01 七巧板的认识和拼组(课件)数学苏教版二年级上册(新教材)
评论
0/150
提交评论