c++ - 如何对多映射中的键和值进行排序?

标签 c++ sorting stl maps

建议任何方法来对键及其值的多重映射进行排序。例如- 输入- (5,1), (1,9), (1,1), (5,2), (1,2) 输出必须是- (1,1)、(1,2)、(1,9)、(5,1)、(5,2)。

最佳答案

答案是 emplace_hint。伪代码看起来像这样:-

insert_with_hint(M mmap, K key, V Value)
{
    auto i1 = mmap.equal_range(Key);
    for (auto i2 = i1.first; i2 != i1.second; ++i2)
    {
     if (i2->second > Key) { // <-- Here add your sorting criteria
           mmap.emplace_hint(i2,Key,Value)
      return
     }
   }
   mmap.emplace(Key,Value)
}

关于c++ - 如何对多映射中的键和值进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21215214/

相关文章:

c++ - 为什么 `catch` 在这里 catch ?

c++ - 由2个SQL连接创建的死锁,每个使用事务,不同的表,两个表之间的外键约束

java - 按日期对图表中的 X 轴进行排序 - JavaFX

python - 对多个文档进行排序/比较的最佳方法?

c++ - 列出 push_back 一个包含字符串类型核心的结构

c++ - 继承的构造函数和 STL 容器错误

c++ - 连接两个 Char*

C++ std::set 排序不适用于客户类*

python - 循环将列表拆分为不同的子列表

c++ - 键和排序标准分开的容器