C++中序列式容器和关联式容器
在C++的关联式容器中有:map、set、unordered_map、unordered_set等。
序列式容器有:vector、list、deque、stack等。
两者的区别:
序列式容器就是常说的线性的数据结构;
关联式容器的底层数据结构是树形结构和哈希结构这样的数据结构。
关联式容器之所以叫做关联,是因为在这种容器中有一个叫做pair的键值对成员,而键值对就说明有两个成员,一个叫做键(key)值(value),它的底层大致是像这样的:
template<class T1,class T2>
struct pair
{typedef T1 first_type;typedef T1 second_type;T1 first;T2 second;pair():first(T1()),second(T2()){}pair(const T1& a, const T2& b):first(a),second(b){}
};
一般情况下,first就是key,second就是value,它们有着一一对应的关系,可以类比英汉字典。