STL中各容器之函数总结
一.序列和关联非共同拥有函数
全部标准库共同拥有函数 (构造,相关属性,迭代器,插入与删除,比較。swap)
当中operator>,operator>=,operator<,operator<=,operator==,operator!=均不适用于priority_queue
顺序容器和关联容器共同拥有函数
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd29qaWFvd3VnZW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
种同样的构造方法
个版本号的)
种同样的erase。
二.非共同拥有函数
)仅仅有序列容器才有的函数
元素的訪问 。 元素的赋值
(2) 仅仅有关联容器才有的函数
查找
(3) 序列元素对首尾元素的插入。删除与訪问
Vector
插入与删除:push_back(),pop_back()
个版本号)
重要:为什么没有push_front,,可是却有front,这是start迭代器的功劳
Deque。list
插入与删除:push_back(),pop_back()。push_front,pop_front
訪问:同vector
Stack。queue
插入与删除非常明显
訪问:queqe同vector。
可是stack却仅仅有top(也即back)。为什么?
Slist
插入与删除:push_front与pop_front
訪问:front
(4) 仅仅有序列容器才有的訪问之非头尾的訪问
仅仅有Vector与deque才干够,由于仅仅有他们才提供了随机訪问迭代器
1.[] (2种版本号)
种版本号)
)仅仅有序列容器才有的赋值
个版本号)
)
Vector和string既有reserve,也有resize。它们两个能够利用reserve来避免不必要的又一次分配。
因为deque不是必需提供所谓的空间保留功能(原因见STL源代码P143),所以其没有reserve函数。
同理。List也仅仅提供resize函数
关联容器不提供这两个函数。
)list在序列容器中比較特殊
个版本号)
个版本号)
反转
个版本号)
)关联容器特有的查找
Set与multiset:find,lower_bound,upper_bound,equal_range。count。
个函数另一个非const版本号
(9)
Vector和string既有reserve,也有resize,它们两个能够利用reserve来避免不必要的又一次分配。
因为deque不是必需提供所谓的空间保留功能(原因见STL源代码P143)。所以其没有reserve函数。同理,List也仅仅提供resize函数
关联容器不提供这两个函数。
STL中各容器之函数总结的更多相关文章
- [C++]STL中的容器
C++11 STL中的容器 一.顺序容器: vector:可变大小数组: deque:双端队列: list:双向链表: forward_list:单向链表: array:固定大小数组: string: ...
- STL中的容器
STL中的容器 一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist ...
- C++ STL中常见容器的时间复杂度和比较和分析
C++ STL中常见容器的时间复杂度 map, set, multimap, and multiset 上述四种容器采用红黑树实现,红黑树是平衡二叉树的一种.不同操作的时间复杂度近似为: 插入: O( ...
- C++ STL 中 map 容器
C++ STL 中 map 容器 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它 ...
- STL中的容器介绍
STL中的容器主要包括序列容器.关联容器.无序关联容器等. 一]序列容器 (1) vector vector 是数组的一种类表示,提供自动管理内存的功能,除非其他类型容器有更好满足程序的要求,否则,我 ...
- 算法求解中的变量、数组与数据结构(STL 中的容器)
本质上算法都是对数据的操作,没有数据,没有存储数据的容器和组织方式,算法就是无源之水无本之木,就是巧妇也难为无米之炊.算法是演员,变量.数组.容器等就是舞台, 然后整个算法的处理流程,都是针对这些数据 ...
- STL中常用容器及操作 学习笔记1
@[TOC](下面介绍STL中常见的容器及操作)## 不定长数组 vector> vetcor:其实就是一个数组或者说是容器 其操作不同于之前直接定义的数组 > 而且可以直接赋值也可以直接 ...
- STL中的容器作为返回值
分别以函数返回值方式和参数传引用方式测试了vector.map两种容器,代码如下: // testContainer.cpp : Defines the entry point for the con ...
- (转载)C++STL中vector容器的用法
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vec ...
随机推荐
- dict的特性和基本语法——python3.6
特性 key:value结构,字典中的每一个元素,都是键值对 key必须可被hash,且必须为不可变数据类型,必须唯一 可存放任意多个值,可修改,可以不唯一 无序 查找速度快,因为hash可以把key ...
- 设计模式(八)组合模式 Composite
组合模式: 允许你将对象组合成树形结构来表现“整体/部分”层次结构.组合能让客户以一致的方式处理个别对象以及对象组合. 组合模式适用于创建复杂的对象,这个对象包含某些个别的对象以及这些对象的组合. 从 ...
- MacPorts的安装和使用
1.安装 MacPorts的官方网站:http://www.macports.org/install.php 有dmg安装和源代码安装两种方式,下载dmg格式一步步安装即可 2.使用 更新ports ...
- Linux系统维护管理命令及vim编辑器
系统维护管理命令date.clear $>>date //显示或修改系统时间与日期. //%H:小时 %M:分钟 %S:秒 %Y完整年份 %d:日 %m:月份 eg: date " ...
- 【bzoj3170】[Tjoi 2013]松鼠聚会 旋转坐标系
题目描述 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1.现在N个松鼠要走到一个松鼠家去,求走过的最短距离. 输入 ...
- 网抓(XML Http Request、VBA)实现
第一种,先看VBA Public Function GetInfo(strMoblie As String) As String '创建对象 Dim xmlHttp As Object Set xml ...
- Java面试题之有没有有顺序的Map实现类,如果有,他们是怎么实现有序的?
Hashmap和Hashtable 都不是有序的. TreeMap和LinkedHashmap都是有序的.(TreeMap默认是key升序,LinkedHashmap默认是数据插入顺序) TreeMa ...
- input标签不能设置height
首先input是内联标签(inline) inline元素设置width.height属性无效 可以通过设置display:inline-block ,则内联标签可以设置width和height,但是 ...
- css3 boxing-sizing属性
boxing-sizing: 1.content-box 计算宽度不包含padding和border宽度 2.border-box border和padding计算入width之内 3.padding ...
- Java通过开启线程池实现多线程
计算1..100 和1...200 的和,使用线程池开启两个线程 调用Executors类的newFixedThreadPool方法参数是线程池容纳的线程数量 这里是2 返回的对象是 Executo ...