栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

hash表的简单使用 (unordered

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

hash表的简单使用 (unordered

hash表表项是 (键-值) 对(key-value)
hash表的健和值可以是任何类型,可以是int、结构体、对象、对象的指针…

一.初始化
#include   //map为#include 
unordered_map tablenode;    //Node*类型
unordered_map table={{5,"a"},{6,"b"}}; //直接初始化
二. 插入(3种)
table[3] = "c";  		//通过键修改值,有则改,若无则不改
table.insert(pair(3, "c")); //使用insert和pair插入
table.insert(Map::value_type(3, "c"));  
三. 删除

删除

table.erase(5);  //删除键为5的对,返回一个迭代器
四. 遍历(4种)

unordered_map::iterator i; 等于 auto i...
i为迭代器类型,i->first 为键,i->second 为值
i++; 为下一个元素

for(auto i:table){ 		//也可以传引用 auto& i:table;下同
	cout<first<second<   //auto [k,_]:map或者auto [_,v]:map可以单独遍历键或值
	cout< i:table)
五. 查找(2种)

均是按找值

table.find(2) 	  //find返回一个迭代器,不存在就返回table.end()
table.count(2)    //count判断key是否存在,存在返回1,否则返回0

对比:
unordered_map无序,比map快,但map内存占用略低

底层实现:
map: 红黑树,具有自动排序的功能
unordered_map: 哈希表,无序

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/876015.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号