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

C++中unordered

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

C++中unordered

unordered_map

头文件#include

unordered_map用于存放键值对,其中元素以pair形式存放。

赋值:

方法一,直接赋值

	//赋值方法一:直接赋值;
	unordered_map mp = { {"aaa",111},{"bbb",222} };

方法二,赋值方法二:利用pair和成员函数insert

    //赋值方法二:利用pair和成员函数insert;
	pair pr = { "ccc",333 };
	mp.insert(pr);

方法三,多个键值对可利用pair数组循环插入

    //多个键值对可利用pair数组循环插入:
	pair pr_array[] = { {"ddd",444},{"eee",555} };
	//统计元素个数;
	int size = sizeof(pr_array)/sizeof(pr_array[0]);
	for (int i = 0; i < size; i++) {
		mp.insert(pr_array[i]);
	}
查找:

方法一:利用成员函数find;

    //利用key找value方法一:成员函数find;
    //成员函数find返回值是指向键值对的迭代器(找到),或者是指向end(未找到)
	if (mp.find("ddd") != mp.end()) {
		//说明:first指键,second指值;
		cout << mp.find("ddd")->second;
	}

方法二:利用成员函数count,只判断有没有

    //利用key找value方法二:成员函数count,只能判断有没有
	if (mp.count("eee") != 0) {
		cout << "有eee但无法返回位置";
	}
unordered_set

头文件#include

unordered_set不能用于存放键值对,功能类似数组和哈希表的结合体(菜鸡言论)

赋值:

方法同上

    //直接赋值
	unordered_set mt = {"aaa","bbb"};
	//利用成员函数insert
	mt.insert("ccc");
查找:

方法同上:

	//利用成员函数find
	if (mt.find("aaa") != mt.end()) {
		cout << "有aaa";
	}
	//利用key找value方法二:成员函数count
	if (mt.count("bbb") != 0) {
		cout << "有bbb";
	}

另外,还有常用成员函数clear():清空哈希表;erase(key):删除某个元素;

待补充......

爽爽怪进阶中,欢迎评论~

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

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

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