linux下练习 c++ 关联式容器multimap特性

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: /* multimap特性 key可以重复 不支持下标访问 */ #include #include #include "print.
/*
multimap特性
key可以重复
不支持下标访问
*/
#include<iostream>
#include<string>
#include "print.h"
#include<map>
using namespace std;
typedef pair<int,string>  pairmp;
typedef multimap<string,double> MS;

int main()
{
	MS m;
	m.insert(MS::value_type("t1",1000));
	m.insert(MS::value_type("t1",1300));
	m.insert(make_pair("t2",3000));
	m.insert(MS::value_type("t1",1800));
	m.insert(make_pair("t2",100000));
	m.insert(MS::value_type("t1",1600));
	print(m.begin(),m.end());
	MS::iterator ib=m.begin(),ie;
	MS m2;
	while(ib!=m.end())
	{
		string name=ib->first;//first:K,second:V
		ie=m.upper_bound(name);//同一个key的一个区别上界
		double sum=0.0;
		while(ib!=ie)
		{
			sum+=(ib++)->second;
		}
		m2.insert(make_pair(name,sum));//处理,并加入一个容量
	}
	print(m2.begin(),m2.end());
	return 0;
}


运行:

 

相关文章
|
27天前
|
自然语言处理 编译器 C语言
【C++ 20 新特性】参数包初始化捕获的魅力 (“pack init-capture“ in C++20: A Deep Dive)
【C++ 20 新特性】参数包初始化捕获的魅力 (“pack init-capture“ in C++20: A Deep Dive)
38 0
|
11天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
32 6
|
27天前
|
Linux 编译器 程序员
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
【Linux 调试秘籍】深入探索 C++:运行时获取堆栈信息和源代码行数的终极指南
67 0
|
13天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
21 0
|
23天前
|
存储 安全 编译器
【C++】类的六大默认成员函数及其特性(万字详解)
【C++】类的六大默认成员函数及其特性(万字详解)
35 3
|
27天前
|
算法 安全 编译器
【C++ 17 新特性 折叠表达式 fold expressions】理解学习 C++ 17 折叠表达式 的用法
【C++ 17 新特性 折叠表达式 fold expressions】理解学习 C++ 17 折叠表达式 的用法
23 1
|
27天前
|
监控 Linux 编译器
Linux C++ 定时器任务接口深度解析: 从理论到实践
Linux C++ 定时器任务接口深度解析: 从理论到实践
70 2
|
27天前
|
存储 Linux 程序员
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
72 0
|
27天前
|
存储 算法 Linux
深入理解Linux内存管理brk 和 sbrk 与以及使用C++ list实现内存分配器
深入理解Linux内存管理brk 和 sbrk 与以及使用C++ list实现内存分配器
34 0
|
27天前
|
存储 监控 Linux
Linux 使用getrusage系统调用获取cpu信息:一个C++实例分析
Linux 使用getrusage系统调用获取cpu信息:一个C++实例分析
48 0