我有50個數組元素的NSMutableArray。我需要隨機生成而沒有任何重複。你能建議一些示例代碼嗎?不重複的隨機數
Q
不重複的隨機數
0
A
回答
0
這裏是樣品獲得隨機INT低於1000
int y = arc4random() % 1000;
留不重複,插入
+2
最好使用'arc4random_uniform(1000)'或其他數字,不存在模塊偏差。 – zaph 2014-10-06 01:51:15
0
我假設你想要生成數字。這是我用於從N生成M個隨機數的答案,雖然它不會將它們添加到NSMutableArray
中,但我相信您可以根據需要修改此代碼。
#define M 10
#define N 100
unsigned char is_used[N] = { 0 }; /* flags */
int in, im;
im = 0;
for (in = N - M; in < N && im < M; ++in) {
int r = rand() % (in + 1); /* generate a random number 'r' */
if (is_used[r])
/* we already have 'r' */
r = in; /* use 'in' instead of the generated number */
assert(!is_used[r]);
vektor[im++] = r + 1; /* +1 since your range begins from 1 */
is_used[r] = 1;
}
assert(im == M);
爲什麼上面的作品並不是很明顯。但它的工作。從[1..N]範圍精確選擇M個數字將以均勻分佈進行選取。
請注意,對於較大的N,您可以使用基於搜索的結構來存儲「已經使用」的數字,從而得到一個O(M)內存需求的O(M log M)算法。
1
創建主陣列的本地副本mutablearray,並獲得隨機值之後,在隨機指標自本地數組中刪除可用對象,過程它,直到數組數爲1
相關問題
- 1. 隨機數不重複
- 2. 隨機數字不重複
- 3. 非重複的隨機數
- 4. 重複的隨機數
- 5. 隨機數字與重複
- 6. 隨機數組重複
- 7. 如何隨機數據不重複
- 8. 隨機數發生器不重複
- 9. 生成隨機數字而不重複
- 10. jquery不重複的隨機單詞
- 11. 不要重複的號碼隨機
- 12. java不會重複的隨機值
- 13. 顯示不重複的隨機圖像
- 14. 隨機化的數字沒有重複
- 15. Android - 生成非重複的隨機數
- 16. 如何捕獲重複的隨機數
- 17. Python numpy - 隨機數的重複性
- 18. 生成非重複的隨機數
- 19. 沒有重複的隨機函數
- 20. numpy中的非重複隨機數
- 21. 避免生成重複的隨機數
- 22. 生成沒有重複的隨機數
- 23. Java生成非重複的隨機數
- 24. 限制重複的隨機數
- 25. 隨機複數
- 26. 我每次都需要重複在Sqlite中隨機重複數據android我想要重複隨機數據
- 27. 生成從不重複的數據庫ID的隨機整數
- 28. 隨機化字符串而不重複
- 29. 如何使隨機組合不重複?
- 30. Android隨機不重複字符串
應該是什麼類型的元素之前只檢查? NSNumber,int,NSString? – 2012-07-20 12:03:31