C++ 标准库常见容器

容器类型 类型分类 特点 示例代码
vector 序列容器 动态数组,支持随机访问,末尾操作效率高 std::vector v = {1, 2, 3}; v.push_back(4);
deque 序列容器 双端队列,支持两端操作和随机访问 std::deque d = {1, 2, 3}; d.push_front(0);
list 序列容器 双向链表,支持中间插入和删除,但不支持随机访问 std::list l = {1, 2, 3}; l.push_back(4);
array 序列容器 固定大小的数组,支持随机访问 std::array arr = {1, 2, 3};
set 关联容器 存储唯一元素,自动排序 std::set s = {3, 1, 4, 1, 5};
map 关联容器 存储键值对,按键排序,键唯一 std::map m; m[1] = “one”;
multiset 关联容器 存储多个相同元素,自动排序 std::multiset ms = {1, 1, 2, 3};
multimap 关联容器 存储多个键值对,允许重复键 std::multimap mm;
mm.insert({1, “one”});
unordered_set 无序容器 无序存储,基于哈希表,快速查找 std::unordered_set us = {3, 1, 4, 1, 5};
unordered_map 无序容器 无序存储键值对,基于哈希表,快速查找 std::unordered_map um;
um[1] = “one”;
unordered_multiset 无序容器 无序存储,允许重复元素,基于哈希表 std::unordered_multiset ums = {1, 1, 2, 3};
unordered_multimap 无序容器 无序存储,允许多个相同键的元素 std::unordered_multimap umm;
umm.insert({1, “one”});
stack 容器适配器 后进先出(LIFO) std::stack s; s.push(1);
queue 容器适配器 先进先出(FIFO) std::queue q; q.push(1);
priority_queue 容器适配器 优先队列,每次访问最大或最小元素 std::priority_queue pq; pq.push(3);

你可能感兴趣的:(C++,c++,开发语言)