1

我想编写一个函数来随机化一系列字母字符的顺序。例如,顺序:

ABCDEFG 。. .

...可能会更改为:

ZLTAP ...

...如果再次传递给相同的函数可能会导致:

HREIC ....

有什么建议么?

4

3 回答 3

2

看看Fisher-Yates shuffle算法,尤其是它的现代版本

于 2010-06-25T22:35:46.983 回答
0

这听起来像家庭作业,但无论哪种方式:

http://stanford.edu/~blp/writings/clc/shuffle.html

于 2010-06-25T22:31:47.317 回答
0

你的意思是随机化字母表?几天前我在PHP中写了类似的东西。逻辑如下:

  1. 令 S1 为包含字母字符“ABC...XYZ”的字符串。
  2. 令 S2 为空字符串。
  3. 当 strlen(S1) > 0 时,从 S1 中选择一个随机字符 C。将 C 附加到 S2 并从 S1 中删除 C。
  4. 返回 S2。

结果是一组随机打乱的字符,以最小的 CPU 负载创建(如果字符串有 26 个字符,则内部循环只需要 26 次迭代)。

于 2010-06-25T22:33:59.107 回答