c++ map multimap操作
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
map<int, string> map1;
multimap<int, string> multimap1;
map1.insert(map<int,string>::value_type(1,"One"));
map1.insert(map<int, string>::value_type(2, "Two"));
map1.insert(map<int, string>::value_type(3, "Three"));
map1.insert(make_pair(-1,"Minus One"));
map1.insert(pair<int,string>(1000,"Four"));
map1[100] = "Five";
cout << "map1 size:" << map1.size() << endl;
map<int, string>::const_iterator map_iter;
for (map_iter =map1.begin();map_iter !=map1.end();++map_iter)
{
cout << "key:" << map_iter->first << " value:" << map_iter->second.c_str() << endl;
}
cout << "---------------------------"<< endl;
multimap1.insert(multimap<int,string>::value_type(1,"One"));
multimap1.insert(multimap<int, string>::value_type(1, "One"));
multimap1.insert(multimap<int, string>::value_type(2, "Two"));
multimap1.insert(pair<int,string>(2,"Test"));
multimap1.insert(pair<int,string>(2,"Test2"));
multimap1.insert(make_pair<int,string>(3,"Test"));
cout << "multimap size:" << multimap1.size() << endl;
multimap<int, string>::const_iterator multimap_iter;
for (multimap_iter = multimap1.begin();multimap_iter != multimap1.end();++multimap_iter)
{
cout << "key:" << multimap_iter->first << " value:" << multimap_iter->second.c_str() << endl;
}
cout << "element count:" << multimap1.count(1) << endl;
cout << "-----------------------------------------" << endl;
multimap<int, string>::const_iterator iter2;
iter2 = multimap1.find(2);
if (iter2 != multimap1.end())
{
size_t element_count = multimap1.count(2);
for (int k=0;k<element_count;k++)
{
cout << "find: "<<k<<" " << iter2->first << " " << iter2->second.c_str() << endl;
++iter2;
}
}
else
{
cout << "not found..." << endl;
}
cout << "---------------------------------------------"<<endl;
if (multimap1.erase(2)>0)
{
cout << "delete element success..."<<endl;
}
multimap<int, string>::const_iterator multimap_iter1;
for (multimap_iter1 = multimap1.begin(); multimap_iter1 != multimap1.end(); ++multimap_iter1)
{
cout << "key:" << multimap_iter1->first << " value:" << multimap_iter1->second.c_str() << endl;
}
cout << "---------------------------------------------" << endl;
multimap<int, string>::iterator iter3 = multimap1.find(1);
if (iter3 != multimap1.end())
{
size_t element_count = multimap1.count(1);
for (int k=0;k<element_count;k++)
{
iter3 = multimap1.find(1);
multimap1.erase(iter3);
//++iter3;
cout << "delete success..." << endl;
}
}
cout << "---------------------------------------------" << endl;
multimap<int, string>::const_iterator multimap_iter2;
for (multimap_iter2 = multimap1.begin(); multimap_iter2 != multimap1.end(); ++multimap_iter2)
{
cout << "key:" << multimap_iter2->first << " value:" << multimap_iter2->second.c_str() << endl;
}
system("pause");
return 0;
}
======================================
map1 size:6
key:-1 value:Minus One
key:1 value:One
key:2 value:Two
key:3 value:Three
key:100 value:Five
key:1000 value:Four
---------------------------
multimap size:6
key:1 value:One
key:1 value:One
key:2 value:Two
key:2 value:Test
key:2 value:Test2
key:3 value:Test
element count:2
-----------------------------------------
find: 0 2 Two
find: 1 2 Test
find: 2 2 Test2
---------------------------------------------
delete element success...
key:1 value:One
key:1 value:One
key:3 value:Test
---------------------------------------------
delete success...
delete success...
---------------------------------------------
key:3 value:Test
请按任意键继续. . .
c++ map multimap操作的更多相关文章
- STL中的map/multimap小结
(1)使用map/multimap之前必须包含头文件<map>:#include<map> 并且和所有的关联式容器一样,map/multimap通常以平衡二叉树来完成 (2)n ...
- C++ map multimap
map multimap map,multimap key-value对容器,也叫字典,map中不能存放key相同的元素,而multimap可以,容器中元素默认按升序排序 map multimap的相 ...
- STL:map/multimap用法详解
map/multimap 使用map/multimap之前要加入头文件#include<map>,map和multimap将key/value当作元素,进行管理.它们可根据key的排序准则 ...
- 09--STL关联容器(map/multimap)
一:map/multimap的简介 map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对.它提供基于key的快速检索能力. map中key值是唯一的.集合中的元素按一定的顺 ...
- c/c++ 标准库 map multimap元素访问
标准库 map multimap元素访问 一,map,unordered_map下标操作 下标操作种类 功能描述 c[k] 返回关键字为k的元素:如果k不在c中,添加一个关键字为k的元素,并对其初始化 ...
- map && multimap
map map 的意思是映射.用法一般是 map<char, int>mp 按照我的理解,map 类似于一个高级的数组.前面的数据类型 char 相当于下脚标,而数组元素的值就对应 ...
- STL::map/multimap
map: 默认根据 key 排序(从小到大),能够通过 backet operator(operator [ ]) 来获取元素,内部由二叉搜索树来实现(binary search trees). mu ...
- STL之六:map/multimap用法详解
转载于:http://blog.csdn.net/longshengguoji/article/details/8547007 map/multimap 使用map/multimap之前要加入头文件# ...
- STL——容器(Map & multimap)的拷贝构造与赋值
1. Map & multimap 的拷贝构造与赋值 map(const map &mp); //拷贝构造函数 map& operator=(con ...
随机推荐
- 通用mapper的增删改查方法 留存 备忘
Mybatis通用Mapper介绍与使用 前言 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQ ...
- 关于js里的布尔值判断
第一种if(a)a为以下值时转换为false false undefined null 0 -0 NaN ""
- 通用分页model封装pageList
package selfimpr.page; import java.util.List; /** * 分页模型 * @param <T> 数据泛型 * @author selfimpr ...
- alibaba 用360的evpp -》个别项目
- WordCount--实现字符,单词,代码统计
Github: https://github.com/whoNamedCody/WordCount PSP表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计 ...
- 图像Image类、打印Printing相关
一.Images 1.概述 Image 类为Bitmap(位图) 和 Metafile(矢量图) 的类提供功能的抽象基类.Image类不能直接创建对象的,但Image.FromFile()返回的是Bi ...
- Mysql+keepalived
测试环境 192.168.2.201 master slave 192.168.2.202 master slave 配置流程:安装MySQL->优化系统->优化配置my.cnf-> ...
- 一篇文章教你如何部署.NET Core WPF应用,你还在等什么?
DevExpress广泛应用于ECM企业内容管理. 成本管控.进程监督.生产调度,在企业/政务信息化管理中占据一席重要之地.通过DevExpress WPF Controls,您能创建有着强大互动功能 ...
- python MySQL安装依赖报错的坑
0X01 问题 MySQL-python是python调用MySQL的常用库 通常安装时会遇到某些坑. EnvironmentError: mysql_config not found yum -y ...
- python2和python3编程差异杂谈(-)
python2 默认编码ascii 在使用中文时要显示的声明 #-*-encoding:utf-8-*- python3 默认编码utf-8,良好的支持了中文输入 python2: print函数 ...