首页 > 学院 > 开发设计 > 正文

map关联容器

2019-11-14 12:22:55
字体:
来源:转载
供稿:网友

题目描述

数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。

输入描述:

先输入键值对的个数然后输入成对的index和value值,以空格隔开

输出描述:

输出合并后的键值对(多行)

输入例子:
40 10 21 23 4
输出例子:
0 31 23 4
#include<iostream>#include<map>using namespace std; int main(){    int n;    while(cin >> n){        map<int,int> m;        while(n--){            int key,value;            cin >> key >> value;            if(!m[key]){                m[key] = value;            }            else m[key] += value;//不存在时赋值,存在时累加        }        //map内部本身就是按照key的大小顺序进行存储的        for(map<int,int>::iterator it=m.begin();it!=m.end();++it){            cout << it->first << " "<< it->second << endl;        }    }    return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表