- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++的集合类型.pdf
第3 卷 第 1 期 辽 宁 高 职 学 报 Vol.3, No. 1
2001 年 2 月 LIAONING HIGHER VOCATIONAL TECHNICAL INSTITUTE JOURNAL Feb. 2001
文章编号:1009—7600 (2001)01—0036—05
C++ 中增加集合类型
闫会昌,王宏亮,徐 宏
(抚顺职业技术学院,辽宁抚顺:113006)
摘 要:本文以链表作为集合的存储结构,较详细地定义了C ++中的集合类型,并重载了集合
运算的运算符,使集合变量可以象普通变量一样应用在C ++程序中。
关键词:集合;类型;类类型;运算符;重载
中图分类号:TP 311 文献标识码:A
集合是数学中最基本的概念,是现代数学的重要基础,并且已经深入到各种科学与技术的领
域中。例如,在开关理论、有限状态机、形式语言等领域中,都卓有成效地应用了集合论。
计算机在各个领域的应用越来越广泛。在当今流行并具代表性的C++中,并没有集合类型,
这不能不说是一件憾事。本文将讨论如何在C++中定义集合类型,并给出几个基本的集合运算。
一、集合的基本概念
1.集合:是指具有某些共同性质的元素构成的整体。
2..集合的元素或成员:属于给定集合的任何客体。
3.集合的基类型:在集合论中,并不要求集合的元素都属于相同类型。为了使问题简化,并
使集合类型能有效地实现,规定集合的元素必须取自某个顺序类型的值域,这个顺序类型称之为
集合的基类型。
4.集合类型的逻辑结构:集合只表示由哪些元素组成,且无重复,各元素之间并无邻接关系
要求。
二、集合的基本运算
集合运算有并、交、差、相等和包含等运算。设R和S为具有相同类型的元素集合,其基本
运算的定义如下:
1.集合的并运算:为R与S中所有元素的总和,且每个元素只出现一次(如图1)。
2.集合的差运算:从R中去掉属于S的元素构成的集合(如图2)。
3.集合的交运算:由集合R与S所共有的全部元素构成的集合(如图3)。
4.集合相等:R与S中的全部元素都相同。
5.集合元素的检验:某一元素是否在一个集合中出现。
图1.并运算 图2.差运算 图3.交运算
三、在C++ 中集合类型存储结构的描述
根据集合的逻辑结构与运算要求,可以采用顺序存储结构,也可采用链式存储结构。因顺序
存储结构要事先规定好集合的元素个数,并且在删除数据(差运算)时要移动大量数据,故本文
采用链式存储,其效率较高。
收稿日期:2000—12—18
第 1 期 闫会昌,王宏亮,徐 宏:C++中增加集合类型 37
1. 结点结构的定义:
struct Element{//结点结构类型
int val; //数据域
Element *next;//指针域
};
2. 链表类类型的定义:
class List{//链表类类型
protected:
Element *elems;//结点为保护成员
public: //链表的公共成员函数
List(){elems=NULL;}//链表的构造函数
~List(); //链表的析构函数
//结点删除Delete和插入Insert虚函数,在派生类中可被重新定义
virtual bool Delete(int);
virtual bool Insert(int);
bool in(int);//结点查找函数
};
3. 由链表类继承的集合(Set)类型的定义
class Set:public List{//由链表
您可能关注的文档
最近下载
- 通桥(2017)2101-Ⅱ时速160公里客货共线铁路预制后张法简支T梁24m.pdf
- 胡壮麟《语言学教程》(第5版)@第七章@复习笔记.pdf
- 2018年中级经济师考试《保险专业知识与实务》电子书.pdf VIP
- 公路收费站(所)风险管控清单.docx VIP
- 君正化工杜邦安全管理理念实施方案.pptx
- 在线网课学习课堂《空间句法与数据化设计——环境行为数据分析及设计应用》单元测试考核答案.docx
- 全面从严治党主体责任约谈资料汇编.docx VIP
- 2024年华为认证HCIA-5G(H35-660)考试题库(附答案).pdf VIP
- 《Web 程序设计》说课.ppt
- 数字经济-第1篇.pptx
文档评论(0)