1 / 22
文档名称:

数据结构实验-集合的并交差运算实验报告模板.doc

格式:doc   大小:117KB   页数:22
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验-集合的并交差运算实验报告模板.doc

上传人:读书百遍 2020/1/18 文件大小:117 KB

下载得到文件列表

数据结构实验-集合的并交差运算实验报告模板.doc

文档介绍

文档介绍:数据结构实验-集合的并交差运算实验报告实验报告实验课程:数据结构实验项目:实验一集合的并交差运算专业:计算机科学与技术班级:姓名:学号:指导教师:目录问题定义及需求分析(1)实验目的(2)实验任务(3)需求分析二、概要设计:(1)抽象数据类型定义(2)主程序流程(3)模块关系详细设计(1)数据类型及存储结构(2)模块设计调试分析(1)调试分析(2)算法时空分析(3)经验体会使用说明(1)程序使用说明测试结果(1)运行测试结果截图附录(1)源代码问题定义及需求分析(1)实验目的设计一个能演示集合的并、交、差运算程序。(2)实验任务1)采用顺序表或链表等数据结构。2)集合的元素限定为数字和小写英文字母。(3)需求分析:输入形式为:外部输入字符串;输入值限定范围为:数字和小写英文字母;输出形式为:字符集;程序功能:计算两个集合的交、并、差以及重新输入集合功能;概要设计:(1)抽象数据类型定义:线性表主程序流程:调用主菜单函数初始化两个线性表作为集合给两个集合输入数据输出集合数据元素信息另初始化两个线性表创建选择功能菜单界面通过不同选项调用不同功能函数在每个功能函数里面加结束选择功能,实现循环调用功能菜单计算完毕退出程序;模块关系:主菜单差运算并运算交运算新建集合结束/返回结束三、详细设计抽象数据类型定义:typedefstruct{ElemType*elem;intlength;intlistsize;}SqList;存储结构:顺序表;模块1-在顺序表的逻辑为i的位置插入新元素e的函数;算法如下:/**在顺序表的逻辑为i的位置插入新元素e的函数**/StatusListInsert_Sq(SqList&L,inti,ElemTypee){ElemType*newbase,*p,*q;if(i<1||i>+1)return0;//i的合法值为(1<=i<=(L)+1)if(>=){//当前储存空间已满,增加分配newbase=(ElemType*)realloc(,(+LISTINCREMENT)*sizeof(ElemType));if(!newbase)exit(-1);//储存分配失败=newbase;//新基址+=LISTINCREMENT;//增加储存容量}q=&([i-1]);//q为插入位置for(p=&([-1]);p>=q;--p)(p+1)=p;//插入位置及之后的元素往右移q=e;//插入e++;//表长加1return1;}pare()的元素位序,若找到,则返回其在L中的位序,否则返回0算法如下:/**pare()的元素位序,若找到,则返回其在L中的位序,否则返回0**/intLocateElem_Sq(SqListL,ElemTypee,Status(*compare)(ElemType,ElemType)){ElemType*p;inti;i=1;//i的初值为第1个元素的位序p=;//p的初值为第1个元素的储存位置while(i<=&&!(*compare)(*p++,e))++i;//从表L中的第一个元素开始与e比较,直到找到L中与e相等的元素时返回该元素的位置if(i<=)returni;//若i的大小小于表长,则满足条件返回ielsereturn0;//否则,i值不满足条件,返回0}模块三集合交运算算法如下:/**求集合的交集的函数**/voidMix_Sq(SqListLa,SqListLb,SqList&Lc){inti;ElemTypeelem;=0;//将表Lc的长度设为0for(i=1;i<=;i++){//依次查看表La的所有元素elem=[i-1];//将表La中i位置的元素赋值给elemif(LocateElem_Sq(Lb,elem,Equal))//在表Lb中查找是否有与elem相等的元素ListInsert_Sq(Lc,+1,elem);//将表La与Lb中共同的元素放在Lc中}}模块四集合并运算算法如下:/**求集合的并集的函数**/voidUnion_Sq(SqListLa,SqListLb,SqList&Lc){inti;ElemTypeelem;=0;//将表Lc的长度初设为0for(i=0;i<;i++)//先将表La的元素全部复制到表Lc中[++]=[i];for(i=1;i<=;i++){elem=[i-1];//依次将表Lb的值赋给elemif(!LocateElem_Sq(La,elem,Equal))//判断表La中是否有与elem相同的值ListInsert_Sq(Lc,+1,elem);//若有的话将elem放入表Lc中}}模块五集合的差运算算法如下:/**求集合的差集函数**/voidDiffer_Sq(SqListLa,SqListLb,SqList

最近更新

2024年齐齐哈尔理工职业学院马克思主义基本原.. 13页

网络拓扑结构优化-第3篇 35页

美术与摄影产业政策解读 38页

2025年上海市(69所)马克思主义基本原理概论.. 13页

2025年上海海洋大学马克思主义基本原理概论期.. 12页

2025年上海震旦职业学院马克思主义基本原理概.. 12页

2025年中北大学马克思主义基本原理概论期末考.. 12页

2025年中国矿业大学(北京)马克思主义基本原.. 12页

2025年中牟县幼儿园教师招教考试备考题库含答.. 30页

2025年临泉县招教考试备考题库带答案解析 30页

2025年久治县招教考试备考题库含答案解析(夺.. 30页

2025年乐山职业技术学院单招职业技能考试题库.. 44页

高效能量管理算法开发 33页

2025年云南理工职业学院单招职业技能测试题库.. 43页

2025年云阳县招教考试备考题库带答案解析(夺.. 31页

轨道站点与就业联动 35页

2025年克拉玛依职业技术学院单招职业技能考试.. 44页

2025年兰州职业技术学院马克思主义基本原理概.. 13页

2025年内蒙古建筑职业技术大学马克思主义基本.. 13页

绿色能源在塑料鞋生产中的运用 28页

2025年北京师范大学珠海分校马克思主义基本原.. 12页

2025年南丹县幼儿园教师招教考试备考题库含答.. 30页

2025年南京视觉艺术职业学院单招综合素质考试.. 44页

绿色染料合成路径优化 35页

高精度材质映射在游戏开发中的应用 38页

高效电机材料制备 36页

绩效数据可视化技术-第1篇 35页

绿色供应链管理优化 35页

2025年吉林工业职业技术学院单招职业技能考试.. 45页

2025年吉林通用航空职业技术学院单招职业技能.. 45页