一.序列和关联非共同拥有函数

全部标准库共同拥有函数  (构造,相关属性,迭代器,插入与删除,比較。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中各容器之函数总结的更多相关文章

  1. [C++]STL中的容器

    C++11 STL中的容器 一.顺序容器: vector:可变大小数组: deque:双端队列: list:双向链表: forward_list:单向链表: array:固定大小数组: string: ...

  2. STL中的容器

    STL中的容器 一. 种类: 标准STL序列容器:vector.string.deque和list. 标准STL关联容器:set.multiset.map和multimap. 非标准序列容器slist ...

  3. C++ STL中常见容器的时间复杂度和比较和分析

    C++ STL中常见容器的时间复杂度 map, set, multimap, and multiset 上述四种容器采用红黑树实现,红黑树是平衡二叉树的一种.不同操作的时间复杂度近似为: 插入: O( ...

  4. C++ STL 中 map 容器

    C++ STL 中 map 容器 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力,由于这个特性,它 ...

  5. STL中的容器介绍

    STL中的容器主要包括序列容器.关联容器.无序关联容器等. 一]序列容器 (1) vector vector 是数组的一种类表示,提供自动管理内存的功能,除非其他类型容器有更好满足程序的要求,否则,我 ...

  6. 算法求解中的变量、数组与数据结构(STL 中的容器)

    本质上算法都是对数据的操作,没有数据,没有存储数据的容器和组织方式,算法就是无源之水无本之木,就是巧妇也难为无米之炊.算法是演员,变量.数组.容器等就是舞台, 然后整个算法的处理流程,都是针对这些数据 ...

  7. STL中常用容器及操作 学习笔记1

    @[TOC](下面介绍STL中常见的容器及操作)## 不定长数组 vector> vetcor:其实就是一个数组或者说是容器 其操作不同于之前直接定义的数组 > 而且可以直接赋值也可以直接 ...

  8. STL中的容器作为返回值

    分别以函数返回值方式和参数传引用方式测试了vector.map两种容器,代码如下: // testContainer.cpp : Defines the entry point for the con ...

  9. (转载)C++STL中vector容器的用法

     vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vec ...

随机推荐

  1. Django模板导入和替换、以及对数据库的增加、查看

    静态文件引入的3中方式:例如对html模板里面对css样式的引入 STATIC_URL = '/static666/'STATICFILES_DIR=[ os.path.join(BASE_DIR,' ...

  2. 理解 PHP output buffer

    在需要使用输出缓存区的时候,一般会在代码中加上ob_start()这个函数. 这是因为php.ini中output_buffering设置为off时,则缓存区处于关闭状态,需要用ob_start()打 ...

  3. 【java基础 13】两种方法判断hashmap中是否形成环形链表

    导读:额,我介绍的这两种方法,有点蠢啊,小打小闹的那种,后来我查了查资料,别人都起了好高大上的名字,不过,本篇博客,我还是用何下下的风格来写.两种方法,一种是丢手绢法,另外一种,是迷路法. 这两种方法 ...

  4. 测试openssl_encrypt

    <?php //$string = 'It works ? Or not it works ?'; //$pass = '1234'; //$method = 'aes128'; // // / ...

  5. 解决Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.7

    一般情况下可能是文件格式有问题,将正确的文件内容替换掉错误的文件内容,不断地尝试,直到文件不报错,当然也有可能是下面的原因:下面是2.7.1版本的方法,其他类似) 或者是:进入该jar包指示的路径,删 ...

  6. Linux Shell系列教程之(六)Shell数组

    本文是Linux Shell系列教程的第(六)篇,更多shell教程请看:Linux Shell系列教程 Shell在编程方面非常强大,其数组功能也非常的完善,今天就为大家介绍下Shell数组的用法. ...

  7. Welcome-to-Swift-02基本运算符

    运算符是检查,改变,合并值的特殊符号或短语.例如,加号+将两个数相加(如let i = 1 + 2).复杂些的运行算例如逻辑与运算符&&(如if enteredDoorCode &am ...

  8. 【Luogu】P4231三步必杀(差分,差分)

    题目链接 郑重宣布我以后真的再也不会信样例了,三种写法都能过 另:谁评的蓝题难度qwq 蓝题有这么恐怖吗 两次差分,第一次差分,前缀和求出增量数组,第二次求出原数组顺便更新答案 看题解之后……第二次差 ...

  9. SPOJ 3267 D-query(离散化+在线主席树 | 离线树状数组)

    DQUERY - D-query #sorting #tree English Vietnamese Given a sequence of n numbers a1, a2, ..., an and ...

  10. 周赛Problem 1025: Hkhv love spent money(RMQ)

    Problem 1025: Hkhv love spent money Time Limits:  1000 MS   Memory Limits:  65536 KB 64-bit interger ...