概述
关联式容器是用来存储数据的,与序列式容器不同的是,其存储的是<key, value>结构的键值对,在数据检索时比序列式容器效率更高。
键值对
用来表示具有一一对应关系的结构,该结构中一般只含两个成员变量key和value,key代表键值,value表示与key对应的信息。
比如:现在要建立一个英汉互译的字典,那该字典中必然有英文单词与其对应的中文含义,而且,英文单词与其中文含义是一一对应的关系,即通过该应该单词,在词典中就可以找到与其对应的中文含义。
SGI-STL中关于键值对的定义:
template <class T1, class T2>
struct pair
{
typedef T1 first_type;
typedef T2 second_type;
T1 first;
T2 second;
pair()
: first(T1())
, second(T2())
{}
pair(const T1& a, const T2& b)
: first(a)
, second(b)
{}
}
STL共实现了两种不同结构的关联式容器:树型结构与哈希结构
树型结构的关联式容器主要有:map、set、multimap、multiset。
这四种容器的共同点是:使用红黑树作为其底层结果,容器中的元素是有序的。
哈希结构的关联式容器主要有四种:unordered_map、unordered_set、unordered_multimap、unordered_multiset
这四种容器的共同点是:使用哈希结构作为其底层结果,容器中的元素是无序的。
最后
以上就是顺心帅哥为你收集整理的关联式容器的全部内容,希望文章能够帮你解决关联式容器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复