文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Sequence and Collection Protocols   >   MutableCollection   >   shuffle(using:)
汎用インスタンスメソッド
shuffle(using:)
与えられたジェネレータを乱数のソースとして使用して、コレクションをその場でシャッフルします。
宣言
mutating func shuffle<T>(using generator: inout T) where T : RandomNumberGenerator
パラメータ
generator | コレクションをシャッフルするときに使用する乱数ジェネレータ。 |
議論
このメソッドを使用して、カスタム乱数ジェネレータを使用しているときにコレクションの要素をランダム化できます。たとえば、shuffle(using:) メソッドを使用して、配列の要素をランダムに並べ替えることができます。
var names = ["Alejandro", "Camila", "Diego", "Luciana", "Luis", "Sofía"]
names.shuffle(using: &myGenerator)
// names == ["Sofía", "Alejandro", "Camila", "Luis", "Diego", "Luciana"]
複雑さ:O(n)、ここで n はコレクションの長さです。
コレクションをシャッフルするために使用されるアルゴリズムは、将来のバージョンの Swift で変更される可能性があります。あなたのプログラムを実行するたびに同じシャッフルされた順番になるジェネレータを渡す場合、異なるバージョンの Swift を使用してプログラムをコンパイルすると、そのシーケンスが変わることがあります。