STL——容器(Map & multimap)的排序与遍历
1. Map & multimap 的排序与遍历
- map<T1,T2,less<T1> > mapA; //该容器是按键的升序方式排列元素。如果未指定less<T1> 函数对象,默认采用less<T1>函数对象。
- map<T1,T2,greater<T1>> mapB; //该容器是按键的降序方式排列元素。
- less<T1> 与 greater<T1> 可以替换成其它的函数对象functor。
- 可编写自定义函数 对象以进行自定义类型的比较,使用方法与set构造时所用的函数对象一样。
示例代码:
1 #include <iostream>
2 #include <map>
3
4 using namespace std;
5
6 int main()
7 {
8 map<int, string> mapStu1; //默认为升序,与 map<int, string, less<int>> mapStu1; 同效
9
10 mapStu1.insert(pair<int, string>(1, "内容A"));
11 mapStu1.insert(pair<int, string>(2, "内容B"));
12 mapStu1.insert(pair<int, string>(3, "内容C"));
13
14 for (map<int, string>::iterator it = mapStu1.begin(); it != mapStu1.end(); it++) //map的遍历
15 {
16 cout << "mapStu1的第 " << it->first << "个参数为: " << it->second <<endl;
17 }
18
19 cout << endl;
20
21 map<int, string, greater<int>> mapStu2; //按键的降序方式排列元素
22
23 mapStu2.insert(pair<int, string>(1, "内容A"));
24 mapStu2.insert(pair<int, string>(2, "内容B"));
25 mapStu2.insert(pair<int, string>(3, "内容C"));
26
27 for (map<int, string>::iterator it = mapStu2.begin(); it != mapStu2.end(); it++)
28 {
29 cout << "mapStu2的第 " << it->first << "个参数为: " << it->second << endl;
30 }
31
32 return 0;
33 }
打印结果:

==========================================================================================================================
STL——容器(Map & multimap)的排序与遍历的更多相关文章
- C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET
C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...
- STL:map/multimap用法详解
map/multimap 使用map/multimap之前要加入头文件#include<map>,map和multimap将key/value当作元素,进行管理.它们可根据key的排序准则 ...
- STL之map&multimap使用简介
map 1.insert 第一种:用insert函数插入pair数据 #include <map> #include <string> #include <iostrea ...
- STL容器 -- Map
核心描述: map 就是从键(key) 到 值(value) 的一个映射.且键值不可重复,内部按照键值排序. 头文件: #include <map> 拓展: multimap 是一个多重映 ...
- HDU 4022 Bombing(stl,map,multiset,iterater遍历)
题目 参考了 1 2 #define _CRT_SECURE_NO_WARNINGS //用的是STL中的map 和 multiset 来做的,代码写起来比较简洁,也比较好容易理解. ...
- STL容器Map
Map的常见函数 Map的实现机制 STL中的Map底层实现机制是RB树(红-黑树)
- 【STL】-Map/Multimap的用法
初始化: map<string,double> salaries; 算法: 1. 赋值.salaries[ "Pat" ] = 75000.00; 2. 无效的索引将自 ...
- STL - 容器 - Map(二)
把Map用作关联式数组 MapAdvanceTest.cpp #include <map> #include <string> #include <iostream> ...
- STL - 容器 - Map(一)
MapTest.cpp #include <map> #include <string> #include <iostream> #include <algo ...
- STL - 容器 - 运行期指定排序准则
RuntimeCmp.hpp #include <set> using namespace std; // type for runtime sorting criterion class ...
随机推荐
- kettle——转换案例
把stu1的数据按id同步到stu2,stu2有相同id则更新数据 (1)在mysql中创建两张表 mysql> create database kettle; mysql> use ke ...
- 攻克弹唱第九课(如何运用好G大调和弦)
在本期文章中,笔者将使用guitar pro7软件与大家分享如何运用好G大调音阶的经验. 众所周知,在我们学习吉他的过程中,先从C大调开始,再以G大调为深入,然后才走过入门的阶段.很多朋友都觉得自己对 ...
- 安装Ubuntu时到底该如何分区
安装系统:Ubuntu16.04(单系统) /(根分区),主分区, Ext4文件系统,100G-200G /boot分区, 逻辑分区,Ext4文件系统,~200MB /home分区, 逻辑分区 ...
- laravel 返回SQL
默认情况下,toSql 获取到的 sql 里面的参数使用 "?" 代替的,如下: 1 DB::table('user')->where('id', 1)->toSql( ...
- 红外遥控接收发射原理及ESP8266实现
红外遥控是利用近红外光进行数据传输的一种控制方式.近红外光波长0.76um~1.5um ,红外遥控收发器件波长一般为 0.8um~0.94um ,具有传输效率高,成本低,电路实现简单,抗干扰强等特点, ...
- A:与指定数字相同的数的个数
总时间限制: 1000ms 内存限制: 65536kB 描述 输出一个整数序列中与指定数字相同的数的个数. 输入 输入包含三行:第一行为N,表示整数序列的长度(N <= 100):第二行为N ...
- DRAM三种刷新方式(转载)
设DRAM中电容的电荷每2ms就会丢失,所以2ms内必须对其补充.补充电荷是按行来进行的,为了[全部]内存都能保住电荷,必须对[所有]的行都得补充. 假设刷新1行的时间为0.5μs(刷新时间是等于存取 ...
- Django 的JsonResponse 与json
json
- 使用 Jasypt 加密 Spring Boot 配置文件
一.添加依赖包 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId> ...
- 20200116_centos7.2 下 mysql_5.7修改root密码
1. 需改my.cnf文件 [root@rakinda-iot-platform ~]# vim /etc/my.cnf 2. 新增一行, 登录时跳过密码, 保存后退出, 重启mysql system ...