1

アルファベット文字のシーケンスの順序をランダム化する関数を書きたいです。たとえば、シーケンス:

ABCDEFG . . .

...次のように変更される場合があります。

ZLTAP ...

...同じ関数に再度渡すと、次のようになります。

HREIC ....

助言がありますか?

4

3 に答える 3

2

Fisher-Yates シャッフルアルゴリズム、特にその最新バージョンを見てください。

于 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 に追加し、C を S1 から削除します。
  4. S2 を返します。

その結果、ランダムにシャッフルされた一連の文字が最小の CPU 負荷で作成されます (文字列が 26 文字の場合、内側のループは 26 回の繰り返しで済みます)。

于 2010-06-25T22:33:59.107 に答える