背景
哈希表(Hash_map)由于节省了大量的时间复杂度,在算法与数据结构中十分流行本文向大家介绍C++STL中unordered_map的一些基本操作。
基本用法
1. 引入头文件
#include<unordered_map>
2. 初始化unordered_map
格式:unordered_map<key, value>hash;
每个key值对应了一个value值,不同的key值可能对应同一个value。
// 定义一个名为rank的hash表
unordered_map<string, int>rank;
3. 定义映射函数
格式:hash[key] = value;
// 定义映射函数
rank["james"] = 1;
rank["jordan"] = 1;
rank["kobe"] = 2;
rank["wade"] = 3;
rank["durant"] = 4;
4.查找hash表中的值
格式:if (rank.find(key) != rank.end()){}
// 寻找James在不在hashmap中
if (rank.find("james") != rank.end()) {
cout << "找到了!" << endl;
}
else
cout << "没找到!" << endl;
//寻找Oneal在不在hashmap中
if (rank.find("oneal") != rank.end()) {
cout << "找到了!" << endl;
}
else
cout << "没找到!" << endl;
5. count函数用法
格式:rank.count(key)
若key值在hash表中输出1,否则输出0.
//如果有James输出1,否则输出0
cout << rank.count("james") << endl;