hash_map哈希映照容器

hash_map哈希映照容器

一、原理

与map相似,都将记录型的元素分为键值和映照数据两个部分,插入元素不允许重复。不同之处是hash_map用哈希表实现,而map用红黑树;前者检索用迭代器遍历,后者用二分法。所使用的哈希函数对象和键值相等比较函数,默认为hash<key>和equal_to<key>。值插入,用insert_equal,值唯一,所以可以用[]操作符(同样,访问除了迭代器外,还可以用[])。

同样不是C++的标准容器,用STLport。

二、应用

hash_map<int,char*> hm;

hash_map<int,char*> hm(300);//389个元素

hash_map<int,char*,myhash> hm(300,myhash());//函数对象myhash(2)=x+2

hash_map<char*,int,hash<char*>,strequal>hm(300,hash<char*>(),strequal());//函数对象hash(char*),值比较函数strequal。

    其它的插入,删除,查找,大小,访问,可以参看前几部分。

    元素是否为带键值的记录型数据,是hash_map和hash_set的一个区别;使用的数据类型不同,是map和hash_map的一个区别。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值