STL——map、set等红黑树结构的最后一个元素

2023-10-28

map、set等背后由于红黑树的关系,插入元素后便成为“平衡”搜索树了,所以末尾元素默认为最大值,得到该值的方法:

1. 利用 rbegin() 反向迭代器

int main(int argc, char *argv[])
{
    map<int,int>ans;
    ans.insert(pair<int, int>(2,0));
    ans.insert(pair<int, int>(1,0));
    ans.insert(pair<int, int>(0,0));

    map<int,int>::reverse_iterator a = ans.rbegin();
    cout<<a->first<<endl; //打印为2

    return 0;
}

关于反向迭代器,官方的例子是:

// map::rbegin/rend
#include <iostream>
#include <map>

int main ()
{
  std::map<char,int> mymap;

  mymap['x'] = 100;
  mymap['y'] = 200;
  mymap['z'] = 300;

  // show content:
  std::map<char,int>::reverse_iterator rit;
  for (rit=mymap.rbegin(); rit!=mymap.rend(); ++rit)
    std::cout << rit->first << " => " << rit->second << '\n';

  return 0;
}

 

 

2.利用end--

int main()
{
    set<int>a;
    a.insert(2);
    a.insert(1);
    a.insert(0);
    set<int>::iterator iter = a.end();
    iter--;
    cout<<(*iter)<<endl; //打印2
    return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STL——map、set等红黑树结构的最后一个元素 的相关文章

随机推荐

  • PAT1027 打印沙漏 (20 分)(C语言)

    题目 本题要求你写个程序把给定的符号打印成沙漏的形状 例如给定17个 要求按下列格式打印 所谓 沙漏形状 是指每行输出奇数个符号 各行符号中心对齐 相邻两行符号数差2 符号数先从大到小顺序递减到1 再从小到大顺序递增 首尾符号数相等 给定任
  • matplotlib绘图接口和绘制线性图

    在深入使用matplotlib之前你需要知道几个matplotlib技巧 这些技巧能帮助你更快速掌握matplotlib 导入matplotlib 和numpy pandas一样 在导入matplotlib时我们也可以用一些常用的简写形式
  • MybatisPlus快速入门

    目录 1 概述 2 快速入门 2 1 数据库环境准备 2 2 创建SpringBoot工程 引入MyBatis Plus起步依赖 2 3 编写DataSource相关配置 2 4 编码 2 5 测试 3 CRUD 3 1 添加 3 1 1
  • Ubuntu下firefox账号无法登录问题

    ubuntu16 04自带有firefox浏览器 但是会发现账号无法登录 原来在windows下的数据没有办法同步 书签也同步不了 经过查询资料后得知 Ubuntu系统中自带的firefox是国际版 服务器与windows下的不一样 因此没
  • 渗透测试之AppScan篇

    IBM AppScan是一款非常好用且功能强大的Web 应用安全测试工具 曾以 Watchfire AppScan 的名称享誉业界 Rational AppScan 可自动化 Web 应用的安全漏洞评估工作 能扫描和检测所有常见的 Web
  • BGNet

    为此 在本文中 我们提出了一种新的边界引导网络 BGNet 它显式地使用边缘语义来增强伪装对象检测的性能 首先 我们设计了一个简单而有效的边缘感知模块 EAM 它集成了低级别的局部边缘信息和高级别的全局位置信息 以在显式边界监督下探索与对象
  • postgreSQL——并发控制7(日志管理)

    2021 SDUSC 目录 概述 CLOG日志管理器 1 CLOG日志管理器相关数据结构 2 CLOG日志管理器主要操作 1 日志管理器的初始化 2 CLOG 日志的写操作 3 CLOG日志的读操作 4 CLOG日志页面的初始化 5 CLO
  • css-排除类名

    场景 写了一个通用块 有禁用样式 和 hover样式 然后 被禁用的时候 希望 hover的样式 可以不生效 解决 wrap not is disabled wrap is custom 一些样式 not is disabled hover
  • python无损旋转图片--90°--180°--270°

    使用 transpose 无损旋转图片并保存 from PIL import Image import os rootdir r D data 1500 指明被遍历的文件夹 for file in os listdir rootdir cu
  • Python3.5源码剖析

    首先需要明白 在Python3 5的源码里 我们操作的文本字符串是以unicode的形式存在的 如果字符串中仅仅包含ASCII 那么会通过c文件中的PyUnicode New函数进行创建 创建的结构体是PyASCIIObject 该结构体的
  • python程序的打包和安装

    0 前言 我们经常会使用pip setup py install 安装一个源码包 可是这个可以安装的源码包是怎么生成的 这个setup py又是怎么生成的呢 这篇文章中 我们就来一探究竟 用来进行python程序打包的两个常用工具为Dist
  • shell中echo命令详解

    本文参考自 http www linuxidc com Linux 2014 08 105548 htm http www cnblogs com perfy archive 2012 07 24 2605903 html 更详细的内容请参
  • 换行CRLF,LF和CR,IntelliJ下设置默认为LF

    在window下开发有一个大坑 就是换行默认是CRLF 但是Linux下只有换行LF 这样代码提交后 会出现编译问题 首先我们先介绍CRLF LF和CR CR是MAC老版本的做法 就是回车 但是后来的MAC系统统一换成LF了 LF是Linu
  • python计算圆周率

    最近一段时间在学习python算法 今天分享5种python计算圆周率的方法 1 割圆法 2 无穷级数法 3 蒙特卡洛法 4 梅钦法 5 拉马努金法 题目来自头歌习题 希望能帮到大家 代码如下 1 割圆法 编程实现割圆法计算圆周率 并输出分
  • excel打开后灰色不显示内容_如何解决EXCEL表格打开显示空白(灰色)的问题

    Excel表格打开没有工作表信息 显示空白 界面是灰色的 大多是单一表格有这种现象 其他表格没有问题 一般是Excel设置问题 方案一 打开故障Excel 视图 窗口 取消隐藏 方案二 在系统左下角开始菜单 找到所有程序 Microsoft
  • es 指定排序字段_ElasticSearch按照指定字段排序

    默认情况下 ES的结果集会按照相关性进行排序 相关性越高 排名越靠前 不过这个规则到了实际应用中往往并不能完全满足我们多变的需求 对于查询结果 除了要找出它们来 还经常需要根据某一规则进行排列 这个规则一般就是指按照某一特定字段排序 按照d
  • Cas5.3服务器集成DM8 达梦数据库

    DM8达梦数据库相关准备 1 安装DM8达梦数据库并安装相关数据库实例 省略一千字 2 新建ucas auth user表 并增加相关用户条记录 DROP TABLE IF EXISTS ucas auth user CREATE TABL
  • 命令行修改java 内存,在命令行上增加jMeter的内存

    I am running jMeter from the command line on a Mac Today it threw an Out of memory heap space error newbie sh jmeter sh
  • PlayerPawn(鼠标控制移动、旋转、大小缩放)

    ue4制作PlayerPawn 鼠标拖动 旋转 YLimtMin 值 89 YLimtMax 值 10 鼠标滚轮键 控制弹簧臂长短 主要控制移动开关 函数LimtMovsePicth
  • STL——map、set等红黑树结构的最后一个元素

    map set等背后由于红黑树的关系 插入元素后便成为 平衡 搜索树了 所以末尾元素默认为最大值 得到该值的方法 1 利用 rbegin 反向迭代器 int main int argc char argv map