如何在地图中随机混乱值?

Nei*_*irk 5 c++ algorithm stl shuffle map

我有一个std :: map,键和值都是整数.现在我想随机地改变地图,所以键随机指向不同的值.我尝试了random_shuffle但它没有编译.请注意,我并没有试图改变键,这对于地图来说没有意义.我试图随机化这些值.

我可以将值推送到一个向量中,然后将其复制然后复制回来.有没有更好的办法?

Inf*_*ted 0

好吧,仅使用地图我想到的是:为地图的每个单元格创建一个标志数组,随机生成两个整数 st 0<=i, j < 地图大小;交换它们并将这些单元格标记为已交换。为所有人迭代。
编辑:该数组是按地图的大小分配的,并且是本地数组。