社区
C++ 语言
帖子详情
关于STL map的排序问题
reeona
2006-07-24 04:59:34
假如有:
map<string,double> mymap;
的定义,然后,经过一定数量的插入元素,然后希望对mymap的元素按照double域排序....由于MAP自身结构问题,sort算法不能用.....除了把元素导入STRUCT再用SORT排,还有啥在MAP内排序的方法吗....?
盼望指点啊:)
...全文
774
9
打赏
收藏
关于STL map的排序问题
假如有: map mymap; 的定义,然后,经过一定数量的插入元素,然后希望对mymap的元素按照double域排序....由于MAP自身结构问题,sort算法不能用.....除了把元素导入STRUCT再用SORT排,还有啥在MAP内排序的方法吗....? 盼望指点啊:)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenhu_doc
2006-07-25
打赏
举报
回复
呵呵,如果这样的话,直接换掉
map<double,string> mymap;
du51
2006-07-25
打赏
举报
回复
楼上的楼上..晕.回的这么快..呵呵.
du51
2006-07-25
打赏
举报
回复
如楼上所说的最好.
map是一棵RB树.由其键值构成的比较方式来决定顺序.也就是pair的first.在map里用second排序不可能.
至于用partial_sort()我觉得也不可能.
partial_sort()其实就是堆排,是要求随机迭代器的.而map内的迭代器是双向的.不能满足要求.应该是不可能的.
如果楼主可以不用map,那就选择很多了.
ybt631
2006-07-25
打赏
举报
回复
如果不需要动态的插入数据。。直接用数据或vector更好
fangrk
2006-07-24
打赏
举报
回复
map<string,double> mymap;
的定义,然后,经过一定数量的插入元素,然后希望对mymap的元素按照double域排序
——那你用map的目的是什么?
sharpdew
2006-07-24
打赏
举报
回复
对于key相同的元素,你也可以自己copy一些这些数据进行排序,然后改变交换这些元素的value值就行了
sharpdew
2006-07-24
打赏
举报
回复
当然你可以在map中遍历,对于key相同的那部分元素进行局部排序是可以的,是否可以调用partial_sort,看看参数中的跌代器是否匹配
reeona
2006-07-24
打赏
举报
回复
只能改用别的结构吗,MAP内部排序,如果要取double域数值在top 30的元素,可以用partial_sort吗?
sharpdew
2006-07-24
打赏
举报
回复
那就用vector<pair>按顺序封装map中的元素,然后再根据double用sort,似乎没有很好的方法。
C++98
STL
的
map
如何避免自动
排序
.md
C++11中有无序
map
即: unordered_
map
可以不自动
排序
, 那么C++98中只有
map
如何避免自动
排序
。
STL
.zip_
Map
排序
_
STL
_Table_
stl
map
实现
源码之前了无秘密,你将看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/
map
的实现;你将看到各种算法(
排序
、查找、排列组合、数据移动与复制技术)的实现;你...
STL
_
map
初始化和
排序
用VC++控制台应用程序实现了
STL
数据
map
的使用,
map
对象数据的初始及其
排序
修改
STL
的
排序
准则
STL
中的set和
map
都是自动
排序
的,但是如何修改其
排序
准则呢?本文档给出了修改思路和具体的实现代码。对于
STL
编程爱好者而言,实在是不可多得的好资料啊。
浅析
stl
序列容器(
map
和set)的仿函数
排序
有序的
stl
容器在工程中应用什么方便和广泛,但是当我们需要自己的
排序
的时候,可以用仿函数来设置它
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章