定义
map 和 unordered_map
1、map是根据顺序排列的,如按照字母的升序;
2、unordered_map是乱序的,不一定是按照入map的顺序排列
unordered_map< 类型, 类型> mapname;
头文件:#include<unordered_map>
unordered_map<string,vector<string>> map;
//遍历这个map
unordered_map<string,vector<string>>::iterator it;//迭代器
for(it = map.begin();it!=map.end();++it)
{
it->first // key
it->value // value
}
unordered_map<string,int> map; //这么写默认int中为0
除了可以按照迭代器来遍历map,还可以根据key值索引map
int firstUniqChar(string s) {
unordered_map<char, int> hash;
for (int i = 0; i < s.size(); i++) { // 建立哈希表
hash[s[i]]++;
}
for (int i = 0; i < s.size(); i++) { // 在原来的字符串中,利用hash[s[i]]来寻找!!!!
if (hash[s[i]] == 1) {
return i;
}
}
return -1;
}