C++容器

作者: vaisy | 来源:发表于2022-03-31 16:05 被阅读0次

参考:cplusplus.com
(注意,所有可以用迭代器访问的东西都可以直接调用algorithm库的函数比如sort和reverse)

常用的容器类型如下:

数组类容器

【数组类容器分配的空间是连续的,可以通过下标索引方式找到】
array:静态数组
vector:动态数组,变长。
两者的相似之处在于迭代器类似。
但:
vector可以用的函数类型更丰富,初始化也更丰富。
因为是变长,所以也可以push_back和pop操作来决定元素的进出;

对于初始化特殊值为5个6:
array<int,5> arraynums;
arraynums.fill(6);

vector<int> vectornums(5,6);

此外,vector可以通过resize和reserve等方式调整大小。

链表类容器

list:双向链表
forward_list:单向链表。
链表,不再采用连续的内存空间。
初始化函数为assign,填充的参数和vector类似。
同样是序列类,list允许从前或者从后面操作(数组类只能从后往前做)
允许push_back,push_front和pop_back,pop_front
可以通过remove直接移除指定元素。
可以通过unique实现去重。
可以调用sort。

而forward_list只处理头部。
可以pop_front和push_front来管理头部
其余用法和list类似。

队列类容器

queue,FIFO类的队列。
允许push和pop

deque,双边的队列,允许push_back,push_front和pop_back,pop_front

特殊队列:优先队列,保证最前面的永远是最大的

stack, LIFO队列,允许 push和pop,也可以取top

map类容器

map的本质是红黑树
unordered_map的本质是哈希表

集合类容器

set的本质是平衡二叉树
unordered_set的本质是哈希表

相关文章

  • [C++] STL 容器

    参考:[C++] STL 容器 (一) - 基本介紹[C++] STL 容器 (二) - Iterator 部分示例:

  • C++boolan part3_week1

    C++容器的介绍及使用 C++中的容器大致可以分为两个大类:顺序容器和关联容器。顺序容器中有包含有顺序容器适配器。...

  • C++ STL(1)

    C++ STL(1) from my csdn blog C++标准模板库 容器C++标准模板库提供了10种容器基...

  • 算法分析与设计之C++STL

    C++ 迭代器 容器

  • 算法分析与设计之C++STL

    C++ 迭代器 容器

  • C++常用容器

    C++ 有两类常用容器,分别是顺序容器和关联容器,顺序容器例如vector,list,queue,关联容器例如ma...

  • C++ STL 之 vectot(三)

    今天我们继续更新 C++ STL 中 vector 容器的使用 vector 容器增加元素 vector 容器增加...

  • stl

    容器: c++中有两种类型的容器:顺序容器和关联容器,顺序容器主要有:vector、list、deque等。其中v...

  • STL学习笔记之容器篇

    容器 条款1:仔细选择你的容器 C++提供了很多可供程序员使用的容器:(1) 标准STL序列容器:vector,...

  • C++ STL 之 vectot(一)

    今天我们将更新 C++ STL 中 vector 容器的使用,之前我们介绍了 array 容器的使用,其实容器之间...

网友评论

      本文标题:C++容器

      本文链接:https://www.haomeiwen.com/subject/nljbjrtx.html