シャッフル関数の意味が分かりません
エラーメッセージ
###該当のソースコード
swift
1mutating func shuffle(){ 2 for i in 0..<self.count { 3 let j = Int(arc4random_uniform(UInt32(self.count))) 4 if i != j { 5 swap(&self[i], &self[j]) 6 } 7 8 } 9 10 } 11
###試したこと
関数jにいれた乱数は重複があるはずなのでiとちがった際に値を交換したとしても、配列に重複が生まれる気がするのですが、どうして重複なく、配列の値をシャッフルできたのか教えていただきたいです。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
コードは ``` で囲って下さい。 https://teratail.com/help#about-markdown
回答2件
あなたの回答
tips
プレビュー