unordered_map的键的类型问题
作者:
呼噜啦
,
2022-03-06 20:44:42
,
所有人可见
,
阅读 175
C++ STL unordered_map容器用法详解
map内部是自动排序的(默认按照递增进行排序)!!!!
`unordered_map<vector<int>, int> map1; `// 这种用法错误
//我们知道`c++`中有`unordered_map和unordered_set`这两个数据结构,
// 其内部实现是哈希表,这就要求作为键的类型必须是可哈希的,一般来说都是基本类型
//所以`pair`和`vector`一类的不可以
` map<vector<int>, int> map2;` // 用法正确
// `map`和`set`内部的实现是树(红黑树,更高级的二叉搜索树),
//既然运用到二叉搜索树就必须得有比较两个元素大小的方法,
// 所以`pair<int,int>`和`vector<int>`,可以直接作为键进行使用
`unordered_map<int, vector<int>> map;` // 哈希表的值可以是数组等其他复杂类型
// 可以用一个哈希表记录多种内容,而不必使用多个哈希表
求关注