【发布时间】:2012-06-19 08:21:37
【问题描述】:
我研究数据结构,我想问一下 STL 容器的等价物是什么。
例如
- vector = 动态数组
- 队列 = 队列
- 堆栈 = 堆栈
- priority_queue = 堆
- list = 链表
- 设置 = 树
- slist = 单链表
- bit_vector = 向量布尔
- 地图 = 对
- 双端队列 = ?
- 多重设置 = ?
- 多图 = ?
- hash_set = ?
- hash_map = ?
- hash_multiset = ?
- hash_multimap = ?
- 哈希 = ?
- bit_set = ?
【问题讨论】:
-
deque = 双端队列。最像一个向量,您也可以在其中 push_front 元素。 multi_set = 多个值(不需要有唯一值); multi_map = 一个键可以关联多个值。 map != pair 但 map 的容器元素是 pair。
-
std::hash不是容器,而是函子。 -
史蒂夫:当你说它是函子时,你能说得更具体些吗?
-
@Jay:嗯,
std::hash是一个类模板。std::hash的实例化是类。这些类的实例是可调用的。因此,模板、类和对象这三者都可以合理地描述为“函子”。
标签: c++ data-structures stl equivalent