关联式容器

关联式容器是用来存储数据的,与序列式容器不同的是,其存储的是<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
这四种容器的共同点是:使用哈希结构作为其底层结果,容器中的元素是无序的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值