1 / 16
文档名称:

数据结构(C语言版)实验报告集合的交并差.docx

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

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

分享

预览

数据结构(C语言版)实验报告集合的交并差.docx

上传人:pppccc8 2019/7/7 文件大小:93 KB

下载得到文件列表

数据结构(C语言版)实验报告集合的交并差.docx

文档介绍

文档介绍:《数据结构与算法》实验报告一、 需求分析问题描述:编制一个能演示执行集合的并、交和差运算的程序基本要求:集合元素限定为小写字母ra\./z1;演示程序以用户和计算机对话方式执行。集合的输入形式为一个以“回车符”为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序运用时自动过滤去,输出的运算结果中将不含重复字符和非法字符。计算机终端中显示提示信息之后,由用户自行选择下一步命令,相应输入数据和运算结果在其后显示。数据测试:Setl^magazine^Set2='paper",SetlUSet2二”aegimnprz",SetlCSet2二”ae”,Setl-Set2二”gimnz”;Setl二"012oper4a61ion8999,Set2二"errordata”,SetlUSet2二”adeinoprt”,SetlDSet2二”aeort”,Setl-Set2二”inp”.概要设计运用顺序表1•定义顺序表typedefstructSET{char*elem;intsize;intlength;}set;2基本操作:setInitSet(sets);〃初始化集合setInput(sets):〃向集合中输入元素setInsertSet(sets,chare);//向集合中插入元素setDelateSet(sets,intn);〃从集合中删除元素voiddisplay(sets);〃显示集合setSetMix(setsetl,setset2,setset3);//求集合的交集setcheck(sets);〃检查集合中是否有数字或者重复字母setSort(sets);〃对集合中的元素进行排序三、详细设计头文件#include<>#include<>#include<string・h>定义#defineMAX_SIZE20(顺序表的初始大小)#defineADD_SIZE10(顺序表的递增大小)结构类型typedefstructSET{char*elem;intsize;intlength;}set;){=(char*)malloc(MAX_SIZE*sizeof(char));=MAX_SIZE;s」ength=O;returns;}•向集合中输入元素setlnput(sets){char*newbase;gets();s」ength+=strlen();if(<=s」ength){newbase=(char*)realloc(/(+ADD_SIZE)*sizeof(char));;+=ADD_SIZE;}returns;}•向集合中插入元素setInsertSet(sets,chare){[s」ength]=e;[+l]='\O';s」ength++;returns;}•从集合中删除元素setDelateSet(sets,intn){inti;for(i=n;j<=s」ength;j++){[i-l]=[i];}-;returns;}8•显示集合voiddisplayfsets){puts();}9•检查集合中是否有数字或者重复字母setcheckfsets){inti,j,count;for(i=l;i<=s」ength;i++){for(j=l;j<i;j++){if([i-l]==[j-l]){s=DelateSet(s,i);i-;break;}}}for(i=l;i<=s」ength;i++){if([i-l]>'z'||[i-l]<'a'){s=DelateSet(s,i);i-;}}returns;}10・求集合的并集setSetMix(setsetl,setset2,setset3){inti;for(i=l;i<=;i++){set3=lnsertSet(set3,[i-l]);}for(i=l;i<=set2」ength;i++){set3=lnsertSet(set3,[i-l]);}set3=check(set3);set3=Sort(set3);returnset3;}•求集合的交集setSetSame(setsetl,setset2,setset3){inti,j;for(i=l;i<=;i++){for(j=l;j<;j++){if([