数据结构作业-1
来源:互联网 发布:淘宝店铺店招全屏代码 编辑:程序博客网 时间:2024/04/29 10:58
题目:编写完成集合抽象数据类型定义及其运算,要求具有并、交、差运算(用C++)。
1.需求分析
用C++语言,定义一个集合抽象数据类型,完成并、交、差的运算。
2.概要设计
ADTSetOperateris
{
数据:
两个SeqList型的对象
操作:
add():两个集合的相加
输入:两个集合
功能:两个集合内元素的合并
输出:加和结果
union():两个集合的合并
输入:两个集合及其各自的数据元素
功能:属于A或属于B的元素,组成的集合。A∪B={x|x∈A,或x∈B}
输出:并集
inserter():两个集合的交集
输入:两个集合及其各自的数据元素
功能:属于A且属于B的元素,组成的集合。A∩B={x|x∈A,且x∈B}
输出:交集
difference():两个集合的差集
输入:两个集合及其各自的数据元素
功能:属于A而不属于B的元素,组成的集合。A\B={x│x∈A,x不属于B}
输出:差集
};
3.详细设计
用顺序表实现。
intListSize()const;//元素的个数
intListEmpty()const;//表为空,返回;否则,返回
intFind(DataType&item)const;//寻找item在表中的位置
DataTypeGetData(intpos)const;//返回位置pos的元素
voidInsert(constDataType &item,intpos);//在位置pos插入元素item
DataTypeDelete(constintpos);//删除位置pos上的元素
voidClearList();//把表清空
voidPrint();//打印出顺序表中的元素
intExist(DataType&item)const;//判断顺序表中是否存在item
voidDeleteSame();//删除顺序表中重复的元素
SeqListAdd(SeqListA,SeqList B); //两个集合的相加
SeqListUnion(SeqListA,SeqList B) //两个集合的并集
SeqListInserter(SeqListA,SeqListB) //两个集合的交集
SeqListdifference(SeqListA,SeqListB) //两个集合的差集
4.调试分析
顺序表的长度只能为整数
运算结果中存在重复的元素,需要去除重复
5.使用说明
运行程序,根据提示输入即可。
只能处理两个字符串的并集、交集、差集
6.测试结果
测试1组:
请输入集合A的长度:10
请输入集合A中的元素(char型)shenhuawei
请输入集合B的长度:10
请输入集合B的元素(char型)xuehuiping
相加后,元素为:s h e n h u a w e i x u e h u i p i n g
并集,元素为:s h e n u a w i x u p g
交集,元素为:h e n u i
差集,元素为:s a w x p g
测试2组:
请输入集合A的长度:5
请输入集合A中的元素(char型)2w,v0
请输入集合B的长度:8
请输入集合B的元素(char型),d'e/w0;
相加后,元素为:2 w , v 0 , d ' e / w 0 ;
并集,元素为:2 w , v 0 d ' e / ;
交集,元素为:w , 0
差集,元素为:2 v d ' e / ;
7.附录
源程序文件清单。
- 数据结构作业-1
- 数据结构作业1
- 数据结构作业1
- 数据结构----作业1--LinearList
- 作业1 数据结构基本概念
- 数据结构与程序设计作业1
- 第一章作业1-数据结构基本概念
- 数据结构作业。
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 图标素材网站
- 转
- GDI+ 中发生一般性错误 C#
- sed详解
- 试嵌套多层For循环的性能和优化方案
- 数据结构作业-1
- Linux内核的编译
- ibatis分页的两种方式
- 调程序遇到的问题-命名空间“Microsoft”中不存在类型或命名空间名称“Web”(是缺少程序集引用吗?)
- ASCII编码表
- JVM 性能调整的一些基本概念
- 正则表达式灵活替换
- boj problem 1337 简单题 分奇数偶数
- 不同app下activity间迁移