当前位置:   article > 正文

STL之map

STL之map

C++STL之map


1.介绍

map是映射的意思,即每个x对应一个y,我们这里说成key和value

举例子说明:
	运动->篮球 (运动是key,篮球是value)
	用电脑->写代码 (用电脑是key,写代码是value)
  • 1
  • 2
  • 3

//头文件
#include<map>
#include<bits/stdc++.h>//万能头文件也可
//初始化
map<string,int> mp//第一个是key,第二个是value
//注意map会自动按照键的大小从小到大排序
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2.函数

代码含义
mp.begin()map第一个元素的地址
mp.end()map最后一个元素的下一个的地址
mp.size()映射的对数
mp.count(key)key在map唯一,查看元素是否存在
mp.empty()是否为空
mp.insert()成对插入

3.访问

//迭代器访问
for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++){
	cout<<it->first<<" "<<it->second<<endl;
}
//智能指针访问
for(auto i:mp){
	cout<<it->first<<" "<<it->second<<endl;
    //其他迭代器的也可以用智能指针auto访问
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

4.应用

#include<bits/stdc++.h>
using namespace std;
int main(){
	map<char,int> mp;
	string str;
	getline(cin,str);
	for(int i=0;i<str.size();i++){
		if(isalpha(str[i])){
			str[i]=toupper(str[i]);
		}
		else continue;
		mp[str[i]]++;
	}
	for(auto it=mp.begin();it!=mp.end();it++){
		cout<<it->first<<":"<<it->second<<endl;
	}
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

欢迎批评指正!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/446928
推荐阅读
相关标签
  

闽ICP备14008679号