STL中的map

定义

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;
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值