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 ...
随机推荐
- Django模板导入和替换、以及对数据库的增加、查看
静态文件引入的3中方式:例如对html模板里面对css样式的引入 STATIC_URL = '/static666/'STATICFILES_DIR=[ os.path.join(BASE_DIR,' ...
- 理解 PHP output buffer
在需要使用输出缓存区的时候,一般会在代码中加上ob_start()这个函数. 这是因为php.ini中output_buffering设置为off时,则缓存区处于关闭状态,需要用ob_start()打 ...
- 【java基础 13】两种方法判断hashmap中是否形成环形链表
导读:额,我介绍的这两种方法,有点蠢啊,小打小闹的那种,后来我查了查资料,别人都起了好高大上的名字,不过,本篇博客,我还是用何下下的风格来写.两种方法,一种是丢手绢法,另外一种,是迷路法. 这两种方法 ...
- 测试openssl_encrypt
<?php //$string = 'It works ? Or not it works ?'; //$pass = '1234'; //$method = 'aes128'; // // / ...
- 解决Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.7
一般情况下可能是文件格式有问题,将正确的文件内容替换掉错误的文件内容,不断地尝试,直到文件不报错,当然也有可能是下面的原因:下面是2.7.1版本的方法,其他类似) 或者是:进入该jar包指示的路径,删 ...
- Linux Shell系列教程之(六)Shell数组
本文是Linux Shell系列教程的第(六)篇,更多shell教程请看:Linux Shell系列教程 Shell在编程方面非常强大,其数组功能也非常的完善,今天就为大家介绍下Shell数组的用法. ...
- Welcome-to-Swift-02基本运算符
运算符是检查,改变,合并值的特殊符号或短语.例如,加号+将两个数相加(如let i = 1 + 2).复杂些的运行算例如逻辑与运算符&&(如if enteredDoorCode &am ...
- 【Luogu】P4231三步必杀(差分,差分)
题目链接 郑重宣布我以后真的再也不会信样例了,三种写法都能过 另:谁评的蓝题难度qwq 蓝题有这么恐怖吗 两次差分,第一次差分,前缀和求出增量数组,第二次求出原数组顺便更新答案 看题解之后……第二次差 ...
- SPOJ 3267 D-query(离散化+在线主席树 | 离线树状数组)
DQUERY - D-query #sorting #tree English Vietnamese Given a sequence of n numbers a1, a2, ..., an and ...
- 周赛Problem 1025: Hkhv love spent money(RMQ)
Problem 1025: Hkhv love spent money Time Limits: 1000 MS Memory Limits: 65536 KB 64-bit interger ...