Slide 16
Slide 16 text
var array = [Int](0 ..< 5) //[0, 1, 2, 3, 4]
array.shuffle() //[1, 4, 0, 2, 3]
// Extension
extension Array {
public var shuffled: Array {
var array = self
for i in array.indices.reversed().dropLast() {
let j = Int(arc4random_uniform(UInt32(i)))
(array[i], array[j]) = (array[j], array[i])
}
return array
}
public mutating func shuffle() {
self = self.shuffled
}
}