1、反向遍历:可以使用反向迭代器reverse_iterator反向遍历map映照容器中的数据,它需要rbegin()和rend()方法指出反向遍历的起始位置和终止位置。
#pragma warning(disable:4786)
#include<iostream> 
#include<map>
#include<string> 
using namespace std; 
 
int main() 

    map<int,char> m; 
    //插入元素,按照键值大小插入黑白树
    m[25]='m'; 
    m[28]='k'; 
    m[10]='x'; 
    m[30]='a'; 
    m.erase(28); 
         
    for(map<int,char>::reverse_iterator rit=m.rbegin();rit!=m.rend();rit++) 
    cout<<(*rit).first<<","<<(*rit).second<<endl;    
    return 0; 
    } 
2、元素搜索:使用find()方法搜索某个键值,如果搜索到了,则返回该键值所在的迭代起位置否则,返回end()迭代器位置,由于map采用黑白树搜索,所以搜索速度极快。当然也可以用count()方法,但是需要如果想直接使用的话再使用键值搜索,需要两次查找,这时候就不如find功能好。

程序代码:
#pragma warning(disable:4786)
#include<iostream> 
#include<map>
#include<string> 
using namespace std; 
 
int main() 

    map<int,char> m; 
    //插入元素,按照键值大小插入黑白树 
    m[25]='m'; 
    m[28]='k'; 
    m[10]='x'; 
    m[30]='a';

map<int,char>::iterator it;
    it=m.find(28);
    if(it!=m.end())
          {
           cout<<(*it).first<<":"<<(*it).second<<endl;            
            }
    else cout<<"not find it"<<endl;  
    return 0; 
    }

std::map 反向遍历相关推荐

  1. C++ - std::map正向遍历与反向遍历的几种方式

    文章目录 1 std::map正向遍历 1.1 for循环 1.2 while循环 2 std::map反向遍历 2.1 for循环 2.2 while循环 1 std::map正向遍历 1.1 fo ...

  2. C++中反向遍历map时怎样删除元素

    文章目录 前言 map的正向遍历 map 遍历时删除元素 map 的反向遍历 map 反向遍历时删除元素 总结 前言 今天在解决一个问题 <5710. 积压订单中的订单总数> 时用到了ma ...

  3. C++中map的遍历

    一点睛 map数据的遍历,也有3种方法 应用前向迭代器方式 应用后向迭代器方式 应用数组方式 二map反向迭代器的使用实战 1代码 #include <map> #include < ...

  4. 【c++】映射表std::map

    文章内容为网络搜集内容 std::map 映射表(Map)容器是一个按特定顺序存储以键值对组合而成的元素的关联容器 // <map> template < class Key,cla ...

  5. C语言创建map,遍历map

    C语言创建map,遍历map 要实现的功能如下 完整源代码实现如下 要实现的功能如下 代码实现创建一个map,代码实现打印map 完整源代码实现如下 #include <iostream> ...

  6. std::map用法总结

    给出了map的基本用法如插入.查找.删除.遍历等等,同时告诉你如何实现双键map,包括 (1) 只有两个键都匹配才命中目标 (2) 两个键中任意一个匹配就命中目标 可以扩展到多键 (一) 介绍特点:1 ...

  7. std::map用法

    std::map用法 STL是标准C++系统的一组模板类,使用STL模板类最大的好处就是在各种C++编译器上都通用. 在STL模板类中,用于线性数据存储管理的类主要有vector, list, map ...

  8. 关于 std::set/std::map 的几个为什么

    2013-01-20 std::set/std::map (以下用 std::map 代表) 是常用的关联式容器,也是 ADT(抽象数据类型).也就是说,其接口(不是 OO 意义下的 interfac ...

  9. map std 浮点数索引_C std :: map持有任何类型的值

    Blindy的答案非常好(1),但只是为了完成答案:通过使用动态继承,还有另一种方法可以在没有库的情况下完成: class MyFieldInterface { int m_Size; // of c ...

最新文章

  1. elasticsearch和hadoop集成,gateway.type hdfs设置
  2. Java泛型编程基础
  3. 【CentOS Linux 7】实验1【Linux文件目录管理】
  4. java改写weka中的算法_用Eclipse在Weka中嵌入新算法
  5. seo vue 动态路由_VUE项目SEO问题的解决
  6. 异步生成器_使用生成器实现异步并等待
  7. Maven学习总结(39)——Maven私服的搭建及使用deploy命令部署构建问题汇总
  8. Mybatis核心配置文件SqlMapConfig.xml
  9. matlab饼状图的编程方法,matlab饼状图
  10. python 读取合并单元格_python 读取合并单元格
  11. word制作表格并打印
  12. mysql 判断邮箱_Java 判断电话号码邮箱代码示例讲解
  13. Android studio 写xml的不能自动补全的问题
  14. 牛津博士讲大数据和量化金融
  15. PAT 甲级 1121  Damn Single
  16. 基于JAVA(Springboot框架)助农商城平台系统设计与实现 毕业设计开题报告
  17. 计算机技术论文搜索引擎,搜索引擎-毕设论文.doc
  18. 联想win8改win7
  19. Reloading agent settings
  20. akka 文章 博客

热门文章

  1. 树莓派cpu检测_【树莓派3B+测评】线程的挂起与恢复CPU温度检测
  2. MavenMybatis可能会遇到的问题
  3. centos7安装python模块_Linux-Centos7----安装Python的psutil模块插件
  4. java和C++的区别
  5. JavaSE学习52:细说多线程之Thread类和Runable接口
  6. 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版
  7. Python常见问题(4):Python库与扩展 Library and Extension FAQ
  8. 深度学习概述:从感知机到深度网络
  9. 鸟哥的Linux私房菜(基础篇)- 一些基础的Linux 问题
  10. 大话设计模式(十一 三层架构,分层开发)