计算机1.ppt_第1页
计算机1.ppt_第2页
计算机1.ppt_第3页
计算机1.ppt_第4页
计算机1.ppt_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、6 抽象容器类型,国家企业信息化应用支撑软件 工程技术研究中心 王波兴,介绍,程序=数据结构+算法 C+标准库STL的主要内容。 顺序容器:拥有由单一类型元素组成的一个有序集合。 两个主要的顺序容器是list 和vector。 为双端队列deque。 stack 关联容器:支持查询一个元素是否存在,并且可以有效地获取元素。两个基本的关联容器类型是map 映射和set 集合。 map 是一个键/值key/value 对,键key 用于查询,而值value 包含我们希望使用的数据。 set 包含一个单一键值,有效支持关于元素是否存在的查询。 hash_set, hash_map,vector,ve

2、ctor表示一段连续的内存区域,每个元素被顺序存储在这段内存中。 对vector的随机访问效率很高,因为每次访问离vector起始处的位移都是固定。 在任意位置,而不是在vector 末尾,插人元素则效率很低,因为它需要把待插入元素右边的每个元素都拷贝一遍。,list,list 表示非连续的内存区域,并通过一对指向首尾元素的指针双向链接起来。从而允许向前和向后两个方向进行遍历。 vector svec; list ilist;,迭代器,迭代器iterator 提供了一种一般化的方法,对顺序或关联容器类型中的每个元素进行连续访问。例如: +iter; 向前移动迭代器使其指向容器的下一个元素 *i

3、ter; 返回iterator 指向元素的值 每种容器类型都提供一个begin()和一个end()成员函数 begin():返回一个iterator 它指向容器的第一个元素 end():返回一个iterator,它指向容器的末元素的下一个位置。 for ( iter = container.begin(); iter != container.end(); +iter ) do_something_with_element( *iter ); / vector vec; vector:iterator iter = vec.begin(); vector:iterator iter_end = vec.end(); for( ; iter != iter_end; +iter ) cout *iter n;,顺序容器操作,push_back()方法:在顺序容器尾部插入单个元素。 vector svec; svec.push_back(“wbx”); insert()方法 vector svec; list slist; string spouse( Beth ); slist.insert( slis

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论