php エディター Xiaoxin は、Go 言語で短い配列の出力順序をランダム化するアルゴリズムに関する記事を提供します。 Go 言語では、Go 言語の並行性の特性により、短い配列の出力順序は未定義です。この記事では、短い配列の出力順序をランダム化できる乱数ジェネレーターに基づくアルゴリズムを紹介します。これにより、プログラムが実行されるたびに出力順序が変わり、プログラムの柔軟性と可変性が向上します。この記事を読むことで、読者は Go 言語で短い配列の出力順序をランダム化する方法を学び、それを自分のプロジェクトに適用することができます。
この質問と多数の重複回答の主な違いは、入力配列が短く、要素が 3 つしかないことです。 --
int
の順序付きセットがあるとします。配列のサイズはわずか 3 (またはそれ以上) です。順序をランダム化し、新しい配列を返す必要があります。これは純粋なアルゴリズムに関する質問ですが、推奨される回答言語は go です。
random.shuffle
です。 rand.shuffle
となるはずです。 ただし、これは私のコードです:
https://go.dev/play/p/cvu8_q96-9f
リーリーこれは私のテスト実行の結果の 1 つです:
リーリーこれはあまりランダムではないようです。
短い 3 要素配列のランダム化を改善するための良いアイデアはありますか?
###ところで、###vhdl を使用して配列要素をランダムな順序で出力する方法には、線形フィードバック シフト レジスタを使用するよう記載されていますが、この問題にはそれは良いアイデアではないと思います。
をランダム再生関数からメイン関数に移動します。 prng はプログラムごとに 1 回だけシードでき、ランダム性の模倣はシードではなくジェネレーターの状態遷移を通じて行われます。 prng の仕組みをよく理解し、再現性などの理由からプロセスを明示的に制御しようとする場合を除いて、再シードしないでください。
ニーズに合わせてコードに次の簡単な変更を加えます:
これにより、次の結果が生成されます:
リーリー以上がGo で短い配列の出力順序をランダム化するアルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。