C ++,stl,map如何按值而不是键排序

2024-02-22

我想仅使用值而不是键对地图容器中的元素进行排序。怎么做?我知道地图可以按键值排序,但反之亦然怎么办。我在 stackoverflow 中发现了同样的问题。我喜欢这个solution https://stackoverflow.com/a/2699101/1082727。不过我想澄清一下“转储”是什么意思pair<K,V>“。我不想为此创建特殊的结构,它不优雅。你如何实现这个solution https://stackoverflow.com/a/2699101/1082727?


为了将 std::map 中的信息转储到 std::vector 中,可以使用带有两个迭代器的 std::vector 构造函数。

std::vector<std::pair<K,V> > myVec(myMap.begin(), myMap.end());

然后你可以用以下方法对其进行排序:

std::sort(myVec.begin(),myVec.end(),&myFunction);

myFunction将是用签名定义的函数:

bool myFunction(std::pair<K,V> first, std::pair<K,V> second);

如果它们的顺序正确(即第一个应该在第二个之前),则让它返回 true。当它们的顺序错误时返回 false(即第二个应该在第一个之前)。


另外,您可能想看看升压::双图 http://www.boost.org/doc/libs/1_48_0/libs/bimap/doc/html/index.html,这似乎更适合您的问题。

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

C ++,stl,map如何按值而不是键排序 的相关文章

  • 为什么模板类的静态成员不唯一

    看一下下面的代码 include
  • 如何将动态数据写入 MVC 3 Razor 中的页面布局?

    我有带有 Razor 引擎的 MVC 3 C 项目 将动态数据写入 Layout cshtml 的方法和最佳实践是什么 例如 也许我想在网站的右上角显示用户名 该名称来自会话 数据库或基于用户登录的任何内容 更新 我也在寻找将某些数据渲染到
  • ASP.NET 如何在 Web API 中读取多部分表单数据?

    我将多部分表单数据发送到我的 Web API 如下所示 string example my string HttpContent stringContent new StringContent example HttpContent fil
  • 基于多线程的 RabbitMQ 消费者

    我们有一个 Windows 服务 它监听单个 RabbitMQ 队列并处理消息 我们希望扩展相同的 Windows 服务 以便它可以监听 RabbitMQ 的多个队列并处理消息 不确定使用多线程是否可以实现这一点 因为每个线程都必须侦听 阻
  • 如何准备sql语句并绑定参数?

    不幸的是 文档 http www sqlite org完全缺乏示例 这真的很奇怪 就好像它假设所有读者都是优秀的程序员一样 然而 我对C 并且无法真正从文档中弄清楚如何真正准备和执行语句 我喜欢它的实施方式PDO for PHP 通常 我只
  • 这种对有效类型规则的使用是否严格遵守?

    C99和C11中的有效类型规则规定 没有声明类型的存储可以用任何类型写入 并且存储非字符类型的值将相应地设置存储的有效类型 抛开 INT MAX 可能小于 123456789 的事实不谈 以下代码对有效类型规则的使用是否严格符合 inclu
  • C++ 中可以使用匿名类作为返回类型吗?

    有没有办法在 C 中使用匿名类作为返回类型 我用谷歌搜索这可能有效 struct Test fun 但是这段代码无法编译 错误信息是 新类型不能在返回类型中定义 其实代码没有任何意义 我只是想弄清楚匿名类是否可以用作C 中的返回类型 这是我
  • 仅针对某些异常类型中断

    我知道异常处理是一件非常重要的事情 我们在所有项目中都在这样做 主要原因是记录客户发生的错误 这工作正常 根本不是问题 但是 当我仍在使用 Visual Studio 编码和运行应用程序时 我根本不需要任何异常处理 我希望调试器正好停在应用
  • 如何修复此 YCrCb -> RBG 转换公式?

    我使用的公式来自这个问题 https stackoverflow com questions 8838481 kcvpixelformattype 420ypcbcr8biplanarfullrange frame to uiimage c
  • Xcode 新手无法用 C++ 打开文件?

    我一直在我参加的课程中使用 Windows 但我正在尝试运行基本代码来弄清楚如何从 Xcode 上的文件打开 关闭 输入 输出 而我通常在 Visual Studio 上使用的代码不是不知道为什么 谢谢 include
  • 如何使用 Selenium Webdriver .NET 绑定设置 Chrome 首选项?

    这是我正在使用的 用户代理可以成功设置 而下载首选项则不能 Windows 7 Chrome 26 Selenium dotnet 2 31 2 chromedriver win 26 0 1383 0 ChromeOptions chro
  • 为什么 std::atomic 比 volatile bool 慢很多?

    多年来我一直使用 volatile bool 来控制线程执行 并且效果很好 in my class declaration volatile bool stop In the thread function while stop do th
  • C++ 更改屏幕方向问题 -- DEVMODE dmDisplayOrientation DMDO_90 undefined

    我似乎无法编译一些 C 代码 我正在翻转显示器的方向 但 VS2008 告诉我 DMDO 90 和 DMDO 270 无法识别 error C2065 DMDO 90 undeclared identifier error C2065 DM
  • 使用 C# 的异步 WebRequest

    您好 我有一个函数 它将 url Get 参数传递到网络服务器上的 php 文件 并等待文件的响应 通常需要 10 20 秒 我想将其放入一个循环中 因为我必须一次将这些 Get 请求发送到大约 5 个不同的 php 文件 但是当我尝试将其
  • PowerShell 与 MongoDB C# 驱动程序方法不兼容?

    由 C 泛型引起的最新 MongoDB 驱动程序的问题 Cannot find an overload for GetCollection and the argument count 1 我可能可以使用其他没有泛型的 GetCollect
  • 在 boost 元组、zip_iterator 等上使用 std::get 和 std::tie

    我有哪些使用选择std get lt gt and std tie lt gt 与增强结构一起 例子 我想使用基于范围的 for 循环在多个容器上进行迭代 我可以实施zip函数 它使用boost zip iterator include
  • 提升shared_from_this<>()

    有人可以用几句话概括一下如何提升shared from this lt gt 应该使用智能指针 特别是从使用绑定函数在 io service 中注册处理程序的角度来看 编辑 一些回复要求提供更多背景信息 基本上 我正在寻找 陷阱 即人们使用
  • 在 C++ 中什么时候首选传递指针而不是引用传递?

    我可以想象一种情况 其中输入参数可以为 NULL 以便首选传递指针而不是传递引用 有人可以添加更多案例吗 在传递的对象实际上将被修改的情况下 有些人更喜欢传递指针 当对象通过引用传递时 它们使用 pass by const referenc
  • 如何编写完全可移植的 4 字节字符常量的编译时初始化

    遗留 代码大致如下所示 define MAKEID a b c d UInt32 a lt lt 24 UInt32 b lt lt 16 UInt32 c lt lt 8 UInt32 d define ID FORM MAKEID F
  • 从 git 签出后 nuget dll 丢失

    I have a C solution containing different projects On those projects I have some normal nuget packages like Newtonsoft Js

随机推荐

  • 从 git 提交生成 PDF 日志

    我知道我可以使用 git log 以各种方式查看以前的提交 但我想知道这里是否有人可以推荐一些用于从 git 提交创建 PDF 或 HTML 日志的好工具 我希望能够生成类似于 Github 提交日志风格但具有不同信息的内容 如果人们对生成
  • 在数基之间转换数字

    我正在开发一个在数字基数之间进行转换的程序 例如八进制是 8 十进制是 10 字母A to Z可以被视为基数 26 我想将 A 转换为0 Z转换为25 AA 转换为27 BA 转换为53 在开始编码之前 我会在纸上进行编码 以便我了解整个过
  • 为什么 date() 不能正确地将 YYMMDDHHMM 转换为 MySQL 可接受的日期格式?

    我想要一个像这样的字符串 1511030830 YYMMDDHHMM 并创建一个 MySQL 时间戳 如下所示 2015 11 03 08 30 00 但是 当尝试这样做时 它将不起作用 string 1511030830 date dat
  • 以编程方式启动时 Appium 不会初始化驱动程序

    我正在使用 Java 和 Selenium 通过命令行初始化 Appium 以便在 Android chrome 浏览器上运行测试 然而 该过程运行无限时间 并且代码来自 DesiredCapabilities 该行没有被执行 代码 Pro
  • 列出给定类的所有内部类 - Python

    给定一个类 我如何列出它的所有inner课程 class Car some var var class Engine some other var var2 class Body another var var3 现在给出Car我希望能够列
  • Next JS在arcgis地图上的多个坐标上显示信息窗口

    下面是我的下一个 JS 代码 它显示了一个简单的 ArcGIS 地图 其中包含特定坐标上的点或标记 谁能告诉我如何在地图上显示点的弹出 信息窗口 例如我单击任意点 它将在其上打开相应的弹出窗口 import NavBar from comp
  • 从 Swift 初始化器调用方法

    假设我在 Swift 中有以下类 有明显的问题 class MyClass let myProperty String init super init self setupMyProperty func setupMyProperty my
  • 如何在 AWS Cognito 中编辑尝试更改密码的限制?

    我已经实现了更改密码功能 现在我想测试一下 但我面临着尝试的极限 我应该做什么来防止这个错误 已超出尝试次数限制 请稍后再试 我是 Cognito 团队的成员 这是不可配置的 我们确实有保护机制来防止用户滥用忘记密码的 API 这可能就是您
  • Keras 中的 add_loss 函数的用途是什么?

    目前 我偶然发现了变分自动编码器 并尝试使用 keras 让它们在 MNIST 上工作 我找到了一个教程github https github com keras team keras blob master examples variat
  • 如何按周添加两个日期中的日期?

    I have a table in which rows have dates as monday dates of the weeks Some consecutive rows may not have consecutive week
  • 如何在 F# 模块中定义可选参数?

    我正在尝试用 F 重写一个小型 C 库 但遇到了错误 我试图为模块中的方法定义可选参数 但编译器说 可选参数仅允许在类型成员上使用 我查过为什么你不能在松散的函数中使用它们 https stackoverflow com questions
  • 使用 jQuery.extend 覆盖函数的原因可能是什么?

    我正在寻找扩展引导插件的正确方法 并找到了这个答案 https stackoverflow com a 12689534 1276032 https stackoverflow com a 12689534 1276032 让我烦恼的是最后
  • OpenCV,与教程中的代码进行特征匹配

    我复制了代码与 FLANN 的特征匹配 http docs opencv org doc tutorials features2d feature flann matcher feature flann matcher html featu
  • Jquery 移动:ui-state=dialog

    我正在使用 JQuery mobile 作为用户菜单列表 但它似乎保存了按下的按钮链接 ui state dialog 当我使用网络浏览器上的后退按钮时 这会干扰导航 如何删除添加到 URL 的 ui state dialog 例子 htt
  • 如何计算集群所需的zookeeper服务器数量?

    有没有公 式可以计算我需要的zookeeper服务器数量 假设一个集群可能有 50 500 或 5000 个服务器在运行 我如何将这些数字转换为我想要启动的 Zookeeper 服务器数量 换句话说 对 zk 服务器可以处理的工作负载有什么
  • 无法导入 scala.reflect.runtime.universe

    我想按照 scala 2 10 2 中的示例来尝试反射本教程 http docs scala lang org overviews reflection environment universes mirrors html 当我启动 sbt
  • 快速解析对象内的json数组

    这是一个样本json我必须在我的项目中实现的代码 请告诉我如何编写代码 我写了很多次代码 这根本不是工作 所以我希望请提供完整的例子 在这里我可以看到 首先有一个对象 接下来有一个多个对象 最后是一个对象内的数组 请查看详情 Activit
  • Tkinter Canvas 将项目移动到顶层

    我有一个 Tkinter Canvas 小部件 Python 2 7 而不是 3 在这个 Canvas 上我有不同的项目 如果我创建一个与旧项目重叠的新项目 它将位于前面 现在 我如何才能将旧项目移动到新创建的项目前面 甚至移动到画布上所有
  • jQuery 从链接获取带有变量的 url 并通过 Ajax 发送它

    我可以使用此链接通过 GET 将产品添加到购物车 div a href Add to Cart a div 我想使用 jQuery Ajax 保持在同一页面上 如果启用了 JS 我已经写出了以下内容 但当然它不起作用 有人可以看看出了什么问
  • C ++,stl,map如何按值而不是键排序

    我想仅使用值而不是键对地图容器中的元素进行排序 怎么做 我知道地图可以按键值排序 但反之亦然怎么办 我在 stackoverflow 中发现了同样的问题 我喜欢这个solution https stackoverflow com a 269