我已經編寫了下面的程序,通過調用這個函數來產生隨機唯一的數字,但是看起來好像我只用很少的修改就能得到相同的模式。你有什麼想法或文檔說明爲什麼我們在swift中有arc4random_stir()?
func generateRandom(withinNumber: Int) {
var i:Int = 0
var elements = Set<Int>()
while i != withinNumber {
let num:Int = Int(arc4random())%withinNumber + 1
if elements.count <= withinNumber && elements.contains(num) == false {
elements.insert(num)
}
else {
i = i-1
}
i=i+1
}
print(elements)
elements.removeAll()
}
generateRandom(withinNumber: 10)
如何讓我的程序有效運行以生成幾個隨機唯一的數字。
請讓我知道這對我很有幫助。
什麼讓你覺得你需要用'stir'做任何事情? – pjs
最初,我認爲這可能有助於生成唯一的隨機數。我試圖讓它適用於不同的編程步驟,但我不瞭解它的功能......請讓我知道。在此先感謝 – Saiteja
你不應該需要它。當前的手冊頁甚至沒有顯示它,以及[歸檔的舊版手冊頁](https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man3/arc4random_stir.3.html )說:「arc4random_stir()函數從/ dev/urandom讀取數據,並使用它通過arc4random_addrandom()來排列S-Boxes。在使用arc4random()函數族之前,不需要調用arc4random_stir(),因爲它們會自動初始化他們自己。」 – pjs