24小时热门版块排行榜    

查看: 1627  |  回复: 3
【悬赏金币】回答本帖问题,作者amefd将赠送您 5 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

amefd

铁杆木虫 (职业作家)

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

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

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

哥大大

新虫 (著名写手)

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

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

哥大大

新虫 (著名写手)

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

发自小木虫Android客户端
2楼2022-02-11 20:54:58
已阅   回复此楼   关注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的回帖
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 308求调剂 +4 是Lupa啊 2026-03-08 7/350 2026-03-10 18:25 by 清风月
[考研] 085600 材料与化工 295 求调剂 +8 dream…… 2026-03-10 8/400 2026-03-10 18:24 by ms629
[考研] 考研材料与化工,求调剂 +6 戏精丹丹丹 2026-03-09 6/300 2026-03-10 17:02 by BruceLiu320
[考研] 材料工程专硕调剂自荐信,初试323 +6 李白26 2026-03-07 6/300 2026-03-10 16:16 by 无际的草原
[考研] 一志愿天大化工(085600)调剂总分338 +5 蔡大美女 2026-03-09 5/250 2026-03-10 14:44 by ruiyingmiao
[考研] 0817化学工程319求调剂 +7 lv945 2026-03-08 9/450 2026-03-10 11:44 by peike
[考研] 一志愿郑州大学,学硕,物理化学, 333求调剂 +8 李魔女斗篷 2026-03-04 9/450 2026-03-10 10:33 by allen-yin
[考博] 2026博士申请 +6 起泡酒 2026-03-08 6/300 2026-03-10 10:26 by 何由彻
[考研] 一志愿南大化学339分求调剂,四六级已过,有比赛,有文章 +7 Gallantzhou 2026-03-07 7/350 2026-03-09 18:38 by 30660438
[考研] 安徽农业大学材料与化学学院0856材料招收调剂 +3 akakk47 2026-03-05 9/450 2026-03-08 21:03 by deng.z.1314
[考研] 调剂 +3 13853210211 2026-03-08 3/150 2026-03-08 19:34 by ms629
[考研] 材料调剂 +7 ounce. 2026-03-05 15/750 2026-03-08 09:39 by wangjihu
[考研] 材料专硕323求调剂 +5 李白26 2026-03-07 5/250 2026-03-07 16:46 by njzyff
[考研] 材料调剂 +10 ounce. 2026-03-04 12/600 2026-03-07 09:14 by Mornach1988
[考博] 2026申博自荐 六级440电催化方向 +4 樱落成影花成双 2026-03-05 4/200 2026-03-06 07:57 by L135790
[考研] 材料考研339求调剂 +3 Karry*^_^* 2026-03-04 3/150 2026-03-06 00:32 by wutongshun
[考研] 271求调剂 +7 月色c 2026-03-05 8/400 2026-03-05 19:51 by wangjihu
[考研] 304求调剂 +4 曼殊2266 2026-03-05 4/200 2026-03-05 17:10 by zhukairuo
[考研] 267调剂求助 +5 聪少OZ 2026-03-04 5/250 2026-03-05 09:38 by kakakapanpan
[考研] 0856材料专硕274能调剂去哪里? +3 22735 2026-03-04 4/200 2026-03-05 09:06 by 斩魂滴兔子!
信息提示
请填处理意见