社区
C++ 语言
帖子详情
能否不让map排序
zzutnicholas
2009-08-26 11:11:31
map<string,double> obj
我发现obj的key按照字母排序了
因为我希望每个keypair按照加入的时候顺序迭代处理
不知道改怎么做?
谢谢
...全文
516
16
打赏
收藏
能否不让map排序
map obj 我发现obj的key按照字母排序了 因为我希望每个keypair按照加入的时候顺序迭代处理 不知道改怎么做? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dskit
2009-08-28
打赏
举报
回复
[Quote=引用 11 楼 zzutnicholas 的回复:]
引用 8 楼 dskit 的回复:
unsorted_map
boost
原数据:
FACING_1 246.069859
ROUGH_BORE_ID 631.877831
GROOVE_FACE 3.910494
FINISH_TURN_OD 9.119089
FINISH_TURN_OD_2 8.978312
FINISH_TURN_OD_1 8.665136
FINISH_TURN_OD_3 9.242448
ROUGH_BORE_ID_1 81.913576
GROOVE_ID 48.332078
GROOVE_ID_1 53.805978
FINISH_BORE_ID 1.666675
迭代输出数据:
FINISH_TURN_OD_3
FINISH_TURN_OD
ROUGH_BORE_ID_1
FINISH_TURN_OD_1
FACING_1
GROOVE_FACE
GROOVE_ID
FINISH_TURN_OD_2
FINISH_BORE_ID
GROOVE_ID_1
ROUGH_BORE_ID
[/Quote]
explicit unordered_map(size_type n = 3,
const hasher& hf = hasher(),
const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type());
template <class InputIterator>
unordered_map(InputIterator f, InputIterator l,
size_type n = 3,
const hasher& hf = hasher(),
const key_equal& eql = key_equal(),
const allocator_type& a = allocator_type());
用法参见:
http://publib.boulder.ibm.com/infocenter/comphelp/v9v111/index.jsp?topic=/com.ibm.xlcpp9.aix.doc/standlib/stl_unordered_map.htm
boost::unordered_map rt
该怎么用呢?
我用的是rt.insert(std::pair <string,double>(oper_name,time));
效果还是不对
猫已经找不回了
2009-08-26
打赏
举报
回复
map默认用迭代器遍历就是排序的。
你不想排序不用不就是了。
dskit
2009-08-26
打赏
举报
回复
unsorted_map
boost
wuxiaohu
2009-08-26
打赏
举报
回复
不想排序,用map干吗,那就用二维数组啊,哈
erwin1984
2009-08-26
打赏
举报
回复
估计LZ想拥有map的特性,同时又想按照插入的顺序遍历元素。
STL似乎没有现成的,可以考虑用一个 map<string,mylist_iterator> 来标示string是否存在,另外用一个 list< pair<string,double> > 来保存具体数据。
typedef list< pair<string,double> >::iterator mylist_iterator;
不过在插入删除数据时得同时操作两个对象,可以考虑封装成一个类。
wy2001wy
2009-08-26
打赏
举报
回复
不想排序就不要用map了嘛
鼠
2009-08-26
打赏
举报
回复
其实 map 内部实现好像就是排序树,这东西设计之初就是用来动态排序查找的。
如果不想排序,就从 vector、list 和 deque 这些顺序容器里面选一个吧,但是那样又不能高效查找了,具体怎么用就看楼主的需要了。
xujg811
2009-08-26
打赏
举报
回复
不想排序,是不是说明你取元素的时候是遍历取?
那就别用map,用list;
healer_kx
2009-08-26
打赏
举报
回复
Yes, UP
mstlq
2009-08-26
打赏
举报
回复
不想排序?
楼主可否考虑改用vector<pair<string,double> >?
鼠
2009-08-26
打赏
举报
回复
boost::unordered_map 是 hash 表
我也没有找到 unsorted_map
zzutnicholas
2009-08-26
打赏
举报
回复
[Quote=引用 13 楼 taodm 的回复:]
楼主要补基础了呀,莫于浮沙筑高台。
都开始接触boost了,却还没认真看过《effective stl》吧。
[/Quote]
惭愧,工程人员,不是专业人员
能用就行,呵呵
taodm
2009-08-26
打赏
举报
回复
楼主要补基础了呀,莫于浮沙筑高台。
都开始接触boost了,却还没认真看过《effective stl》吧。
zzutnicholas
2009-08-26
打赏
举报
回复
[Quote=引用 8 楼 dskit 的回复:]
unsorted_map
boost
[/Quote]
我装的boost1.39好像没有这个unsorted_map。hpp
zzutnicholas
2009-08-26
打赏
举报
回复
[Quote=引用 8 楼 dskit 的回复:]
unsorted_map
boost
[/Quote]
boost::unordered_map<string,double> rt
该怎么用呢?
我用的是rt.insert(std::pair<string,double>(oper_name,time));
效果还是不对
原数据:
FACING_1 246.069859
ROUGH_BORE_ID 631.877831
GROOVE_FACE 3.910494
FINISH_TURN_OD 9.119089
FINISH_TURN_OD_2 8.978312
FINISH_TURN_OD_1 8.665136
FINISH_TURN_OD_3 9.242448
ROUGH_BORE_ID_1 81.913576
GROOVE_ID 48.332078
GROOVE_ID_1 53.805978
FINISH_BORE_ID 1.666675
迭代输出数据:
FINISH_TURN_OD_3
FINISH_TURN_OD
ROUGH_BORE_ID_1
FINISH_TURN_OD_1
FACING_1
GROOVE_FACE
GROOVE_ID
FINISH_TURN_OD_2
FINISH_BORE_ID
GROOVE_ID_1
ROUGH_BORE_ID
bfzhao
2009-08-26
打赏
举报
回复
使用vector。map使用排序树来提高查询性能,你需要的不是查询,何必使用map?
不
排序
的
Map
'不
排序
’的
Map
需求: 不想插入的值按key (string)
排序
, 而是按插入值的先后顺序放在容器中。 为实现这个目标,使用
map
轻易是做不出来的,所以我用List和
Map
结合实现结果集不
排序
: public static void main...
Map
排序
(Java)
Java中的
Map
排序
问题 在Java编写程序的过程中,常常会碰到使用
map
(key,value)来记录数据的情况,有些时候我们需要根据实际需要来对
map
中的数据进行
排序
。以下就是个人总结的
map
排序
的三种情况。 1.
map
中根据key值...
go 中
map
排序
2 golang 中的
map
默认是无序的,注意也不是按照添加的顺序存放的,每次遍历,得到的输出可能不一样。 3 golang 中
map
的
排序
,是先将 key 进行
排序
,然后根据 key 值遍历输出即可。 二代码 package main ...
对
map
集合进行
排序
的方法
在讲解
Map
排序
之前,我们先来稍微了解下
map
。
map
是键值对的集合接口,它的实现类主要包括:Hash
Map
,Tree
Map
,Hashtable以及LinkedHash
Map
等。其中这四者的区别如下(简单介绍): Hash
Map
:我们最常用的
Map
,它根据...
C++的
map
排序
一点睛
map
的
排序
默认按照key从小到大进行
排序
,但有以下几点需要注意: ...二让
map
中的元素按照key从大到小
排序
1代码 #include <
map
> #include <string> #include <iostream> u...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章