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

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

ID:52835407

大小:77.69 KB

页数:15页

时间:2020-03-30

数据结构(C语言版)实验报告-集合的交并差.docx_第1页
数据结构(C语言版)实验报告-集合的交并差.docx_第2页
数据结构(C语言版)实验报告-集合的交并差.docx_第3页
数据结构(C语言版)实验报告-集合的交并差.docx_第4页
数据结构(C语言版)实验报告-集合的交并差.docx_第5页
资源描述:

《数据结构(C语言版)实验报告-集合的交并差.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、《数据结构与算法》实验报告一、需求分析问题描述:编制一个能演示执行集合的并、交和差运算的程序基本要求:集合元素限定为小写字母[’a’…’z’];演示程序以用户和计算机对话方式执行。集合的输入形式为一个以“回车符”为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序运用时自动过滤去,输出的运算结果中将不含重复字符和非法字符。计算机终端中显示提示信息之后,由用户自行选择下一步命令,相应输入数据和运算结果在其后显示。数据测试:(1)Set1=”magazine”,Set2=’paper”,Set1∪Set2

2、=”aegimnprz”,Set1∩Set2=”ae”,Set1-Set2=”gimnz”;(2)Set1=”012oper4a6tion89”,Set2=”errordata”,Set1∪Set2=”adeinoprt”,Set1∩Set2=”aeort”,Set1-Set2=”inp”.二、概要设计运用顺序表1.定义顺序表typedefstructSET{char*elem;intsize;intlength;}set;2基本操作:setInitSet(sets);//初始化集合setInput(sets);//向集

3、合中输入元素setInsertSet(sets,chare);//向集合中插入元素setDelateSet(sets,intn);//从集合中删除元素voiddisplay(sets);//显示集合setSetMix(setset1,setset2,setset3);//求集合的交集setcheck(sets);//检查集合中是否有数字或者重复字母setSort(sets);//对集合中的元素进行排序一、详细设计1.头文件#include#include#include

4、.h>2.定义#defineMAX_SIZE20(顺序表的初始大小)#defineADD_SIZE10(顺序表的递增大小)3.结构类型typedefstructSET{char*elem;intsize;intlength;}set;4.初始化集合setInitSet(sets){s.elem=(char*)malloc(MAX_SIZE*sizeof(char));s.size=MAX_SIZE;s.length=0;returns;}5.向集合中输入元素setInput(sets){char*newbase;gets

5、(s.elem);s.length+=strlen(s.elem);if(s.size<=s.length){newbase=(char*)realloc(s.elem,(s.size+ADD_SIZE)*sizeof(char));s.elem=newbase;s.size+=ADD_SIZE;}returns;}6.向集合中插入元素setInsertSet(sets,chare){s.elem[s.length]=e;s.elem[s.length+1]='';s.length++;returns;}7.从集合中

6、删除元素setDelateSet(sets,intn){inti;for(i=n;i<=s.length;i++){s.elem[i-1]=s.elem[i];}s.length--;returns;}8.显示集合voiddisplay(sets){puts(s.elem);}9.检查集合中是否有数字或者重复字母setcheck(sets){inti,j,count;for(i=1;i<=s.length;i++){for(j=1;j

7、eSet(s,i);i--;break;}}}for(i=1;i<=s.length;i++){if(s.elem[i-1]>'z'

8、

9、s.elem[i-1]<'a'){s=DelateSet(s,i);i--;}}returns;}10.求集合的并集setSetMix(setset1,setset2,setset3){inti;for(i=1;i<=set1.length;i++){set3=InsertSet(set3,set1.elem[i-1]);}for(i=1;i<=set2.length;i++){set3

10、=InsertSet(set3,set2.elem[i-1]);}set3=check(set3);set3=Sort(set3);returnset3;}11.求集合的交集setSetSame(setset1,setset2,setset3){inti,j;for(i=1;i<=set1.length;i++){f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。