24小时热门版块排行榜    

查看: 1631  |  回复: 3
【悬赏金币】回答本帖问题,作者amefd将赠送您 5 个金币

amefd

铁杆木虫 (职业作家)

[求助] 怎样从C++ map中随机取30项 已有1人参与

map的长度总共是几千万,key的值无规律,想从中随机挑30项进行处理,可是map迭代器不支持随机访问,应该怎样做最好呢?

发自小木虫Android客户端
回复此楼
PhD是人类的好朋友。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

哥大大

新虫 (著名写手)

先建一个索引,格式为{编号,key},然后生成map长度范围内的随机数,将生成的随机数作为编号,去找key,再去map中取value

发自小木虫Android客户端
2楼2022-02-11 20:54:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

哥大大

新虫 (著名写手)

数据长度太大了,上面办法估计比较慢

发自小木虫Android客户端
3楼2022-02-11 20:55:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

本来可以做一个index 到key的map,然后打乱index再去拿数据。但你的map太大了, 效率会不高。
可以这样,随机生成30个数,范围可以大一点,保存为gap[30]
然后循环用迭代器从map.begin()开始(这个数不要选),然后每隔gap[idx]个数据,取一个。然后idx++,一直到gap里面30个数循环完。中间如果超出map.end(),再从头开始。
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2022-04-01 17:12:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 amefd 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂 +5 调剂的考研学生 2026-03-09 5/250 2026-03-10 22:13 by peike
[考研] 086000生物与医药319分求调剂 +4 Tolkien 2026-03-07 8/400 2026-03-10 21:34 by Tolkien
[考研] 欢迎211本科同学,过A区国家线,A区非偏远一本,交叉学科课题组 +23 lisimayy 2026-03-04 37/1850 2026-03-10 18:10 by a1763909
[考博] 求材料读博院校 +9 yanglei131 2026-03-08 9/450 2026-03-10 11:54 by 天道酬勤2026686
[考博] 2026博士申请 +6 起泡酒 2026-03-08 6/300 2026-03-10 10:26 by 何由彻
[硕博家园] 木虫好像不热闹了,是不是? +4 偏振片 2026-03-10 4/200 2026-03-10 09:51 by longwave
[考研] 293求调剂 +4 上班不着吉 2026-03-09 4/200 2026-03-09 22:43 by bingxueer79
[考研] 考研调剂,一志愿山东大学材料与化工,328分,政治51 +5 关你西红柿929 2026-03-08 6/300 2026-03-09 13:50 by 新篇章DFSS
[考研] 297求调剂 +3 胡达灵 2026-03-05 5/250 2026-03-08 23:13 by 清风月
[考研] 求调剂,一志愿华中科大0702,数一英一,293 +4 小罗露一二 2026-03-07 4/200 2026-03-08 16:36 by 星空星月
[考研] 322分 085600求调剂,有互联网+国金及主持省级大创经历 +4 熊境喆 2026-03-05 4/200 2026-03-07 22:04 by 星空星月
[考研] 化学290求调剂 +3 两颗 西柚 2026-03-07 4/200 2026-03-07 20:55 by macy2011
[考研] 070300化学求调剂292分 +3 打烊eee 2026-03-07 3/150 2026-03-07 20:04 by houyaoxu
[考研] 求调剂 +4 呼呼?~+123456 2026-03-05 5/250 2026-03-06 23:15 by L135790
[考研] 材料与化工304求B区调剂 +4 邱gl 2026-03-06 4/200 2026-03-06 15:51 by 聪明的大松鼠
[考研] 289求调剂 +3 驰光绝景 2026-03-04 4/200 2026-03-06 12:34 by 驰光绝景
[考研] 材料与化工354调剂 +4 Lucy-xiao 2026-03-06 7/350 2026-03-06 09:57 by hxuq8429
[考研] 275求调剂 +4 大爆炸难民 2026-03-06 5/250 2026-03-06 09:21 by guoweigw
[考研] 304求调剂 +4 曼殊2266 2026-03-05 4/200 2026-03-05 17:10 by zhukairuo
[考研] 材料学硕080500复试调剂294 +3 四叶zjz 2026-03-04 3/150 2026-03-05 07:09 by kunm555
信息提示
请填处理意见