查看: 1334|回复: 1
收起左侧

[资料分享] 合并键值对

starter 2020-4-11 11:16:27 | 显示全部楼层 |阅读模式
邀请回答

马上注册,享受更多特权

您需要 登录 才可以下载或查看,没有帐号?立即注册   

x
题目描述
数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。

输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)
示例1
输入[url=]复制[/url]40 10 21 23 4

输出[url=]复制[/url]0 31 23 4
  1. #include<map>
  2. #include<iostream>
  3. using namespace std;
  4. int main()
  5. {
  6.     map <int ,int > mapList;
  7.     int key,value,num;
  8.     map<int,int>::iterator it;
  9.     cin>>num;
  10.     while(num-- && cin>>key >>value)
  11.         mapList[key]+=value;
  12.     for (it = mapList.begin();it!=mapList.end();it++)
  13.         cout<< it->first<<" " <<it->second<<endl;
  14.     return 0;
  15. }
复制代码











上一篇:取近似值
下一篇:倒叙输出数字

已有 0 人打赏作者

回复 邀请回答送花

使用道具 举报

starter 2020-4-11 11:18:16 | 显示全部楼层
map是STL的一个关联容器,它提供一对一的hash,key-value键值对。
其中key关键字只能在map中出现一次。

在map内部所有的数据都是有序的,这是其优点。
使用map前,需要声明:#include<map>
//定义map对象
map<int ,string > mapStudent;
map<int,string>::iterator it也可以用auto  it 定义。
auto 类型:自动类型
map.begin() 得到的是:指向map container的第一个元素的迭代器,类似于指针。
map的访问方式有2种;
1:map可以使用迭代器,auto it = map.begin()定义迭代器。
it->first来访问键,使用it->second访问值
2:使用下标访问: map['key'] = value;
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册   

本版积分规则

有技术问题,就上汇川技术社区

INOVANCE汇川技术 公众号

扫码下载掌上汇川APP

全国服务热线:8:30-17:30

4000-300124

苏州地址:江苏省苏州市吴中区越溪友翔路16号

深圳地址:深圳市龙华新区观澜街道高新技术产业园汇川技术总部大厦

Copyright © 2003-2100 汇川技术 Powered by Discuz! X3.4 ( 苏ICP备12002088号 )
快速回复 返回列表 返回顶部