unordered_map与map的区别
unordered_map中的元素是无序的,基于计算关键字的哈希映射到内存地址来实现,存取的时间复杂度$O(1)$。map中的元素是有序的,基于红黑树来实现,存取时间复杂度$O(logn)$。
遍历map
for(auto &[k,v] : s){
cout<<k<<' '<<v<<endl; //k表示关键字,v表示键值
}
// 使用迭代器遍历map
for (auto it = s.begin(); it != s.end(); ++it) {
cout << "Key: " << it->first << ", Value: " << it->second << endl;
}
判断是否存在某个关键字
auto it = s.find(key);
if(it != s.end()){
puts("yes");
}
else puts("no");