如何在OMNeT++中对地图进行排序?
How to sort a map in OMNeT++?
我在OMNeT++中没有找到任何关于map的文档。 我正在尝试按值而不是按键对map<int,double>
进行排序,并擦除一些数据。
我像这样声明地图和迭代器
std::map<int,double> Dlist;
std::map<int,double>::iterator it;
我试过了
sort(Dlist.begin(), Dlist.end());
但是有一个错误。
迭代器也不返回值
iterator.first
iterator.second
首先,这是一个纯粹与C++相关的问题,因为您正在使用std::map
.
std::sort
就地对容器进行排序,因此没有可以访问的迭代器。此外,在给定的代码中,甚至不使用声明的迭代器。
其次,我强烈怀疑你是否真的想对地图的值进行排序。虽然这在技术上是可行的,但它没有意义:使用值对 std::map 进行排序。
相反,您可以将映射中的所有值复制到一个std::vector
中,然后对该向量进行排序。请参阅在 STL 中将映射值复制到矢量。
相关文章:
- 是否有任何C++功能可以对地图进行排序?
- 如何使地图按值C++排序
- 我正在尝试按降序对地图进行排序,但没有得到预期的结果?
- 尝试按值对地图进行排序,但出现错误
- 对双精度地图进行排序
- 如何在OMNeT++中对地图进行排序?
- 多地图<矢量<int>>,字符>如何排序?
- 少的专业化<>适用于地图但不适用于排序
- 常量地图的意外排序
- C++按值对unordered_map或地图进行排序
- 如何对其中包含地图的列表进行排序
- 为什么我无法使用函数按值对地图进行排序?
- 如何在地图中插入对象以保持其排序
- 根据地图值的属性对地图进行排序
- C++,根据秒迭代对地图内容进行排序
- 如何以相反的顺序对地图进行排序
- 在 c++ 中对地图进行排序
- 获取按地图值排序的映射键向量的最快方法
- 标准::地图按值大小排序(设置<int>)
- 对基于地图C++集合重新排序的有效方法