map用法介绍
在 C++ 里,map是标准库提供的一种关联容器,它以键 - 值对的形式存储元素,并且按键的升序排列。下面为你展示如何在 C++ 用map。
如果没有用万能头的时候,需要加入#include
用法介绍:
映射[需要注意map的映射是1对1的不能出现一个元素映射多个,这种情况会发生覆盖的]
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<map>
using namespace std;
map<int, int>mp1;//mp1是名字随便起
map<string,int>mp2;
map<char, int>mp3;
int main()
{//mp1 数字映射数字[本质和数组类似] 应用场景如下//现在给你一个数组 ,请你统计1到10每个数字的出现次数int a[20] = { 1,2,3,4,5,6,7,8,9,10,9 };for (int i = 0; i <= 10; i++){mp1[a[i]]++;//记录每个数次数}for (int i = 1; i <= 10; i++){cout<<i<<"的次数" << mp1[i] << endl;//打印次数}//mp2 字符串映射数字应用场景如下//已经知道成绩表如下// zs 51// xiaoming 99// xiaoli 100//xiaogang 60//请问如何给出给名字,你就能判断出他的成绩是多少呢mp2["zs"] = 51;//字符串映射为数字mp2["xiaoming"] = 99;mp2["xiaoli"] = 100;mp2["xiaogang"] = 60;//映射成功,当读入字符串s的时候,mp2[s]就对应每个人的成绩//mp3 字母映射数字应用场景如下//可以统计每个字母出现的次数string x = "abcdefeeee";//请你统计x字符串里面哪个字母出现的次数最多for (int i = 0; i < x.size(); i++)//x.size()表示取出x的长度{mp3[x[i]]++;//记录字母次数}int mmax = 0;char c = '1';for (char i = 'a'; i <= 'z'; i++)//遍历字母表{if (mp3[i] > mmax){mmax = mp3[i];c = i;}}cout << c;return 0;
}