import UIKit
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
func getRandom(floor : Int, ceiling: Int) -> Int {
return Int.random(in: floor..<ceiling)
}
func shuffleList() {
for value in 0..<arr.count {
let currentRandom = getRandom(floor: value, ceiling: arr.count)
if currentRandom != value {
let temp = arr[value]
arr[value] = arr[currentRandom]
arr[currentRandom] = temp
}
}
}
shuffleList()
print(arr)
In swift you could also use
var
arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
arr.shuffle()
Both will give you similar performance when you measure it using XCTest. Here is a chart to prove it.
Leave a Reply