C++的集合类型.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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{//由链表

文档评论(0)

wuyouwulu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档