map主要运用于存储一些散列
1、头文件
#include<map>
2、map & pair
map可以看作是一个容器;pair看作一个元素,通常配合map一起行动。
练习:合并表记录
描述
数据表记录包含表索引index和数值value(int范围的正整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照index值升序进行输出。
提示:
0 <= index <= 11111111
1 <= value <= 100000
输入描述:
先输入键值对的个数n(1 <= n <= 500)
接下来n行每行输入成对的index和value值,以空格隔开输出描述:
输出合并后的键值对(多行)
输入:
4
0 1
0 2
1 2
3 4
输出:0 3
1 2
3 4
#include<iostream>
#include<map>
using namespace std;
int main(){
map <int, int> m;
map < int, int >::iterator m1_Iter;
int n;
cin >> n;
for(int i = 0; i < n; i++){
pair<int, int> temp;
cin >> temp.first;
cin >> temp.second;
if(m.find(temp.first) != m.end())
m[temp.first] += temp.second;
else
m[temp.first] = temp.second;
}
for(m1_Iter = m.begin(); m1_Iter != m.end(); m1_Iter++){
cout<<m1_Iter->first<<" "<<m1_Iter->second<<endl;
}
return 0;
}