




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 8 关于 器类学习心得体会 由于小编对 C+比较熟悉,所以学习 该重点体会来的新概念。本文基本上是 准库中集合框架的基本概念,没有例子。写本文的目的在于方便小编很长时间后若是忘了这些东西可以通过这片文章迅速回忆起来。 整个 例如 ,而不是类。使用接口的最大好处在于将容器的实现与容器的接口分开,这就意味着你可以使用相同的方法访问容器而不用关心容器是由什么样的数据结构实现的。同样, 口也使得用户可以使用相同的方法访问不同的容器类。以上这些是通用算法的基础。 口 口有如下基本方法: 如果添加对象后,集合确实发生了变化,则返回 则返回 :返回一个实现了 口的对象 此外,还有 , , 等许多有用的方法 2 / 8 值对。有如下基本方法: 此外,还有其他有用的方法。 需要注意的是,从表面看它似乎就是一种由键值对构成的集合,但实际上并不是这样。不过另一方面假如将 某一部分看作集合, 有时候也还是显得非常方便的。换言之你可以创建一个集合用它来表达 上所述,一个 以返回的东西包括它的键值构成的一个 它的值构成的一个集合或者由它的键值对构成的一个 口 口有下面 3个基本方法: :返回迭代器刚越过的元素的引用 :判断容器内是否还有可供访问的元素 :删除迭代器刚越过的元素 注意: 迭代器与 的迭代器在概念上有很重要的区别。在 代器类似于数组的索引,使用这种迭代器可以查看存放在该位置上的元素 (类似于通过数组3 / 8 索引 ci一样 )。 看与位置的变化紧密的结合在一起。每次通过 访问一个元素的同时,迭代器的位置会自动向前走一步。 这个问题可以这样理解: 的迭代器指向的位置并不是元素,而是元素之间。这样,每次调用 时,迭代器便越过下一个元素,同时返回它刚越过的那个元素的引用。 根据上面的说明,很容 易得出下面的代码是错误的: (); (); 而下面的代码是正确的: (); (); (); 迭代器的典型应用 ); ) ); /do 子接口 4 / 8 口 有序的集合。这里指的有序并不是按照大小排好 序的(而是指集合是可以以确定的顺序访问的序列。针对 比 口增加了通过索引进行操作的方法。例如, 方法的参数表中都可以加入索引的数值,从而操作处在索引位置处的元素。 不同,它里面的元素是无序的 ;所以,不能通过任何索引的方法来操作 象 t 口 使用与 口增加了一些方法 (例如 等 )。此外,由于 双向表,所以还增加了 和 方法,用法与 和 一样。 t 口 包含如下基本方法: t / 8 抽象容器类包括 等 t 什么要有抽象结合类 ? 例如 口中定义了许多有用的方法,如果实现 口的每个类都自行实现这么多的方法,那将是非常麻烦的。为了使实现 口的类的实现更容易, 让一些基本方法 (比如和 )变成了抽象的方法, 而利用这些基本方法的其他方法 (例如 等等 )则具体实现了。 t 是实现了 口的类,是有序集。 口支持通过索引的方法来访问元素,对于这一点, 有任何问题 ;但是对于 有很大的问题,链表本身不应该支持随机存储,但是作为 一个实现,链表也提供了对随机访问的支持,但是效率很低。每次通过索引的方法都是进行一次遍历。我认为,其实就不应该让链表 支持随机访问 ;而 样实现我想是因为整个集合框架的体系,使得链表与数组可以使用同样的方法使用。综上所述,对于 使用迭代器。 t / 8 一个实现。根据数据结构的知识可以知道,树的效率非常高,而且 后应该尽量使用 需要注意的是: 通过 将集合元素排序。任何具有相同比较值的元素 (无论它们是否 ),在 而不能有重复。这样以来,即使是不同的对象也不能加入到集合中,这一点有时候很不方便。我在编写 A*算法时,不同状态有时候对应着同一个启发函数值,那么这些不同的状态就无法加入到 。 t 非常高效的数据结构,与 同,方法来区分不同的对象。这样只有真正不同的对象才能不被重复的加入到集合中。 需要注意的是: 率非常高,但是对象的数不好确定。一般默认的对象的 数是根据对象的内存地址得到的。好的 数是t 么是视图 ? 对映象类使用 方法,仿佛该方法建立了一个新的集合,并将影响的所有关键字都填入这个集合。实际情况7 / 8 并非如此,对这个集合的任何操作 都将反映到原始的映象对象上。 实际上, 返回的是一个实现 该对象的操作就是对映象的操作。这样的集合成为视图。 视图的应用 将现有的容器变为线程安全的容器:使用 (c)方法,在 档中该方法的解释是 “a by 。 将现有的容器变为只读的容器:使用 (c)方法,在 档中该方法的解释是 “an of 。 子范围 中的 方法 t 用的集合接口带来的一大好处就是可以编写通用算法。可以使用 的静
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车间改造豪宅合同协议
- 购买油松树苗合同协议
- 车辆等价交换合同协议
- 商业推广活动策划执行合同书
- 海洋运输货物保险合同协议书
- 抖音平台火花故障损害赔偿合同
- 保险产品服务补充合同
- 海外保健品研发成果转化与技术授权合同
- 非洲草原酒店租赁托管管理合同
- 耕地承租合同协议书
- 科研伦理试题答案及解析
- 2025成都市新劳动合同书范本
- 第二章中国体育产业的发展与现状
- 2025届高三押题信息卷(一)地理及答案
- DB3303T078-2024规模以上工业企业健康评价指标体系
- GB 7718-2025食品安全国家标准预包装食品标签通则
- GB/T 45403-2025数字化供应链成熟度模型
- 咸宁叉车考试题及答案
- 2025春 新人教版美术小学一年级下册走进旧时光
- 腹腔引流管护理查房
- 利用导函数研究极值点偏移(4题型+高分技法+限时提升练)-2025年北京高考数学复习专练(原卷版)
评论
0/150
提交评论