集合的并、交和差运算实习报告--编制一个演示集合的并、交和差运算程序

集合的并、交和差运算实习报告--编制一个演示集合的并、交和差运算程序

ID:35649525

大小:114.50 KB

页数:9页

时间:2019-04-06

集合的并、交和差运算实习报告--编制一个演示集合的并、交和差运算程序_第1页
集合的并、交和差运算实习报告--编制一个演示集合的并、交和差运算程序_第2页
集合的并、交和差运算实习报告--编制一个演示集合的并、交和差运算程序_第3页
集合的并、交和差运算实习报告--编制一个演示集合的并、交和差运算程序_第4页
集合的并、交和差运算实习报告--编制一个演示集合的并、交和差运算程序_第5页
资源描述:

《集合的并、交和差运算实习报告--编制一个演示集合的并、交和差运算程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、集合的并、交和差运算实习报告题目:编制一个演示集合的并、交和差运算的程序班级:姓名:学号:完成日期:一、需求分析1.本演示程序中,集合的元素限制在小写字母‘a’-‘z’之间。集合的大小不限制,集合的输入形式为一个以“回车符”为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序运用时自动过滤去,输出的运算结果中将不含重复字符和非法字符。2.演示程序以用户和计算机对话的形式进行,即在计算机终端中显示提示信息之后,有用户自行选择下一步命令,相应输入数据和运算结果在其后显示。3.程序的执行命令有:1)选择操作2)任意键清屏4.数据测试(1)

2、Set1=”magazine”,Set2=’paper”,Set1∪Set2=”aegimnprz”,Set1∩Set2=”ae”,Set1-Set2=”gimnz”;(2)Set1=”012oper4a6tion89”,Set2=”errordata”,Set1∪Set2=”adeinoprt”,Set1∩Set2=”aeort”,Set1-Set2=”inp”.二、概要设计为实现上述功能,需要顺序表这个抽象数据类型。1.顺序表抽象数据类型定义ADTsqlist{数据对象:D={ai

3、ai∈Elemset,i=1,2,3,…n,n>=0}数据关系:R

4、1={

5、ai-1,ai∈D,i=2,…n}基本操作:InitList(&l)操作结果:构造一个空的顺序表l。ListLength(l)初始条件:顺序表l已存在。操作结果:返回l中的元素个数。ListInsert_Sq(&L,i,e)初始条件:顺序表l已存在。操作结果:在l中第i个元素前面插入元素e。CreatSqList(&l,a[],n)初始条件:顺序表l已存在。操作结果:将数组a[n]每个元素赋给顺序表l。GetElem(L,i,&e)初始条件:顺序表l已存在。操作结果:返回l中第i个元素的值LocateElem_Sq(L,e,S

6、tatus(*compare)())初始条件:顺序表l已存在。操作结果:依次遍历l中每个元素带入函数。ListDelete(&L,i,&e)9初始条件:顺序表l已存在。操作结果:删除顺序表中第i个元素。Outputlist(&L)初始条件:顺序表l已存在。操作结果:输出顺序表的每个元素值。}ADTsqlist三、详细设计//程序的头文件#include#include#include#include//函数返回值#defineOK1#defineERROR0#defineTR

7、UE1#defineFALSE0#defineINFEASIBLE-1#defineOVERFLOW-2#defineNULL0#defineLIST_INIT_SIZE100//顺序表的初始大小#defineLISTINCREMENT10//顺序表的递增大小typedefintStatus;//返回状态类型typedefcharElemType;//元素类型typedefstruct{ElemType*elem;intlength;intlistsize;}SqList;StatusInitList(SqList&L){L.elem=(ElemTyp

8、e*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)exit(OVERFLOW);L.length=0;L.listsize=LIST_INIT_SIZE;returnOK;}intListLength(SqList&L){returnL.length;9}StatusListInsert(SqList&L,inti,ElemTypee){if(i<1

9、

10、i>L.length+1)returnERROR;if(L.length>=L.listsize){ElemType*newbase=(Elem

11、Type*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));if(!newbase)exit(OVERFLOW);L.elem=newbase;L.listsize+=LISTINCREMENT;}ElemType*q=&(L.elem[i-1]);for(ElemType*p=&(L.elem[L.length-1]);p>=q;--p){*(p+1)=*p;}*q=e;++L.length;returnOK;}StatusCreatSqList(SqList&L,ElemTyp

12、ea[],intn){intlen=ListLength(L);for(inti=0;i

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

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

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