Swiftで配列をシャッフルする方法


  1. shuffle()メソッドを使用する方法: SwiftのArray型には、shuffle()メソッドが用意されています。これを使用すると、配列の要素がランダムにシャッフルされます。
var array = [1, 2, 3, 4, 5]
array.shuffle()
print(array) // シャッフルされた配列が出力される
  1. フィッシャー・イェーツのシャッフルアルゴリズムを実装する方法: フィッシャー・イェーツのシャッフルアルゴリズムは、効率的なシャッフルアルゴリズムの一つです。以下は、このアルゴリズムを実装した例です。
func shuffleArray<T>(_ array: [T]) -> [T] {
    var shuffledArray = array
    for i in 0..<(shuffledArray.count - 1) {
        let j = Int.random(in: i..<shuffledArray.count)
        if i != j {
            shuffledArray.swapAt(i, j)
        }
    }
    return shuffledArray
}
var array = [1, 2, 3, 4, 5]
array = shuffleArray(array)
print(array) // シャッフルされた配列が出力される
  1. 入れ替え法を使用する方法: 配列の要素をランダムに入れ替える方法もあります。以下は、この方法を実装した例です。
func shuffleArray<T>(_ array: [T]) -> [T] {
    var shuffledArray = array
    for i in 0..<(shuffledArray.count - 1) {
        let j = Int.random(in: 0..<shuffledArray.count)
        shuffledArray.swapAt(i, j)
    }
    return shuffledArray
}
var array = [1, 2, 3, 4, 5]
array = shuffleArray(array)
print(array) // シャッフルされた配列が出力される

これらの方法を使用すると、Swiftで配列をシャッフルすることができます。自分のニーズや好みに合わせて適切な方法を選択してください。