我想在C中創建一個函數。它將返回一個範圍爲N的隨機整數,如下所示: - rand()%N; 但事情是我想跟蹤唯一性。我不希望數字重複。但我也可以通過創建一個數組並將其中生成的整數複製來做到這一點。如: - array[count] = rand() % N;
並每次檢查生成的數字是否已經在其中。 (只需在數組[]中搜索它);這是一個簡單的方法,但是一個正確的方法。它會採取許多如果和爲了;爲此工作。 這是我能想到的最好的。生成非重複的隨機數
的事情是,我想這個問題的最佳/優化的解決方案。什麼將是最有效的方式來做到這一點?
允許明確一些事情: - 我想從一個NSArray中,始終是唯一坐落在一個UILabel一些文本。我的NSArray從Plist獲取數據,而我的Plist有超過1000個條目。如果我想這樣做很多次,它會影響性能,所以我想要一些有效的方式來做到這一點。
如果它保證沒有重複不再是隨機的,是不是邏輯? – 2011-12-18 19:47:18
同一句子中的「隨機」和「唯一」不屬於。你試圖解決的問題究竟是什麼? – Jon 2011-12-18 19:47:27
可以說我想填充一個數組,直到100的隨機數,或另一個iPhone開發的例子是,我從1000個對象的NSArray標籤中顯示隨機對象。 – SAQIBZAFAR 2011-12-18 19:50:59