容器库已经作为class templates 实现。

  容器库中是编程中常用的结构:

(1)动态数组结构vector;

(2)队列queue;

(3)栈stack;

(4)heaps 堆priority_queue;

(5)Linked list--list 列表;

(6)树结构 tree--Set集合;

(7)关联数组--map

  

  选用何种容器,需要依据使用木易,以及方法函数的复杂度。对于序列容器, 在插入以及删除和获取元素值的操作要有权衡。

  stack,queue,priority_queue 作为容器适配器实现 container adaptors. 容器适配器不是容器类,而是提供了特定接口的类。因此容器适配器的使用通过“适配器提供的函数”来实现,而不是底层的容器类。

容器模板类别:

1. 序列容器

  • array【C11提供】
  • vector
  • deque(双端队列)
  • forward_list【C11提供】
  • list

2. 容器适配器

  • stack(FIFO stack)
  • queue(FIFO stack)
  • priority_queue(priority queue)

3. 关联容器

  • set
  • multiset
  • map
  • multimap

4. 无序关联容器

  • unorder_set【C11提供】
  • unorder_multiset【C11提供】
  • unorder_map【C11提供】
  • unorder_multimap【C11提供】

5. 其他分类

  • bitset
  • valarray

STL-容器库000的更多相关文章

  1. STL标准库-容器-set与multiset

    技术在于交流.沟通,转载请注明出处并保持作品的完整性. set与multiset关联容器 结构如下 set是一种关联容器,key即value,value即key.它是自动排序,排序特点依据key se ...

  2. STL标准库-容器-deque

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. deque双向开口可进可出的容器 我们知道连续内存的容器不能随意扩充,因为这样容易扩充别人那去 deque却可以,它创造了内存 ...

  3. STL标准库-容器-vector

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. 向量容器vector是一个动态数组,内存连续,它是动态分配内存,且每次扩张的原来的二倍. 他的结构如下 一 定义 vector ...

  4. STL标准库-容器-set与map

    STL标准库-容器-set与multiset C++的set https://www.cnblogs.com/LearningTheLoad/p/7456024.html STL标准库-容器-map和 ...

  5. STL容器删除元素的陷阱

    今天看Scott Meyers大师的stl的用法,看到了我前段时间犯的一个错误,发现我写的代码和他提到错误代码几乎一模一样,有关stl容器删除元素的问题,错误的代码如下:std::vector< ...

  6. 不要在公共接口中传递STL容器

    最近的一个项目,是开发一个framework,提供给公司内部不同的产品线使用. 之间遇到的一个问题,就是STL容器的使用, 而结论是不要在公共接口中传递STL容器: 这里说的STL容器,但主要则是指容 ...

  7. STL容器之优先队列(转)

    STL容器之优先队列 原地址:http://www.cnblogs.com/summerRQ/articles/2470130.html 优先级队列,以前刷题的时候用的比较熟,现在竟然我只能记得它的关 ...

  8. STL容器之优先队列

    STL容器之优先队列 优先级队列,以前刷题的时候用的比较熟,现在竟然我只能记得它的关键字是priority_queue(太伤了).在一些定义了权重的地方这个数据结构是很有用的. 先回顾队列的定义:队列 ...

  9. STL容器底层数据结构的实现

    C++ STL 的实现: 1.vector      底层数据结构为数组 ,支持快速随机访问   2.list            底层数据结构为双向链表,支持快速增删   3.deque     ...

  10. STL标准库-算法-常用算法

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 介绍11种STL标准库的算法,从这11种算法中总结一下算法的基本使用 1.accumulate() 累加 2.for_each( ...

随机推荐

  1. android如何判断控件的显示或者隐藏

    可以利用Android view getVisibility()的值来实现,具体如下: (1)0 -------- VISIBLE 可见(1)4 -------- INVISIBLE 不可见但是占用布 ...

  2. guide dpdk

    Welcome to DPDK Guide! Contents: Setting up DPDK Important Prerequisites Setting up repositories Red ...

  3. How to use external classes and PHP files in Laravel Controller?

    By: Povilas Korop Laravel is an MVC framework with its own folder structure, but sometimes we want t ...

  4. flask学习视频

    https://study.163.com/course/courseMain.htm?courseId=1004091002 主要 https://www.cnblogs.com/senlinyan ...

  5. is not allowed to connect to this MySQL server解决办法

    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; myuser:代表你 ...

  6. BS架构如何实现即时消息提醒

    转载地址:https://blog.csdn.net/cyjch/article/details/51506434

  7. jQuery 2

    <head > <style type="text/css">        /*table中偶数行*/ .tabEven {            bac ...

  8. java14

    1.方法:定义一个小功能,储存某段代码,方便在需要时调出来反复使用 !!!!重复使用 格式: static void 名称(){ } 注意点: ①在static main方法中要调用其他方法,调用的其 ...

  9. spring学习十九 常用注解

    1. @Component 创建类对象,相当于配置<bean/>2. @Service 与@Component 功能相同. 2.1 写在 ServiceImpl 类上.3. @Reposi ...

  10. 再一道区间DP -- P4170 [CQOI2007]涂色

    https://www.luogu.org/problemnew/show/P4170 一道简单的区间DP,注意读入 #include <bits/stdc++.h> #define up ...