std::list
STL 中的list 就是一 双向链表,可高效地进行插入删除元素。
list不支持随机访问。所以没有 at(pos)和operator[]。
std:map
Map是STL的一个关联容器,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),它提供一对一的数据处理能力,查找和添加的复杂度都为O(log(n))
std:hashmap
hash_map基于hash table(哈希表)。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。
std::vector
采用的是连续的线性空间,属于线性存储,随机访问方便,即支持[ ]操作符和vector.at(),在内部进行插入删除操作效率低。