map的基本操作函数:
C++ maps是一种关联式容器,包含“关键字/值”对
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数, (帮助评论区理解: 因为key值不会重复,所以只能是1 or 0)
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数
map的插入和遍历常用操作
#include<bits/stdc++.h>
using namespace std;
int main()
{
map<string,int >a;
int n;
cin>>n;
string s;
for(int i=0;i<n;i++)
{
cin>>s;
/* map的插入方式 */
a[s]=i;// 1
//a.insert(pair<string,int>(s,i)) 2
//a.insert(make_pair(s,i)) 3
// m.insert(map<string,int>::value_type(s,i)); 4
}
/* map的遍历方式 */
//1 迭代器遍历
for(auto it=a.begin();it!=a.end();it++)//
{
cout<<it->first<<" "<<it->second<<endl;
}
//2 range for
for(auto it:a)
{
cout<<it.first<<" "<<it.second<<endl;
}
return 0;
}