问题标题: 申精贴--STL-map(映射)

0
0
已解决
李显晨
李显晨
中级启示者
中级启示者

map(映射)

映射:有两个集合key 和 value
一个key值只对应一个value值
一个value可能对应不同的key值

例:
key:学生姓名
value:学生成绩

一个姓名只对应一个成绩(由姓名可以确定唯一的成绩)
一个成绩可能对应多个姓名

map的用法:
1.头文件<map>
2.定义映射

map<key_type,value_type> m;
例:map<string,int> stu;

3.如何表示key对应value

m[key]=value;
例:stu["xiaoming"]=95;

4.迭代器

是的,你没有看错map的遍历更链表一样需要迭代器

map<key_type,value_type>::iterator it;
for(it=m.begin();it!=m.end();it++){
    cout<<it->first<<" "<<it->second<<endl;
    //it->first:key值         it->second:value值
}

5.映射清空

m.clear();
m.erase(m.begin(),m.end());

最后来说一说map的好处

可以统计字符串出现的次数(高级桶)

map<string,int> m;
for(1~n){
    输入一个字符串a;
    m[a]++;//a对应的value++
}

0
已采纳
许金夫
许金夫
初级天翼
初级天翼

与其讲map不如讲哈希处理字符串(这两个都是映射)

0
0
陈则霖
陈则霖
资深光能
资深光能

emmm这样会教坏别人的(没有恶意)

另外真的不是把老师上课的内容重新说了一遍吗?(shui)

我要回答