【发布时间】:2012-11-11 01:32:57
【问题描述】:
我正在尝试编写一种算法,将播放列表中的歌曲按随机顺序排列,因此如果有 10 首歌曲,我需要随机数生成器在重复之前命中 0-9 的每个值。使用算法:x_current = (a * x_prev + c) mod m,有没有什么方法可以通过c 和m 的某些值来实现这一点?
【问题讨论】:
-
你看过std::random_shuffle吗? (以及 C++11 中的 std::shuffle 吗?)
-
你想要的不是随机数列表,而是将随机选择的歌曲列表条目交换一定次数。