高效產生不重複的隨機數
- //purpose: 生成隨機的不重複的測試資料
- //1000w資料量,要保證生成不重複的資料量,一般的程式沒有做到。但,本程式做到了。
- #include <time.h>
- #include <assert.h>
- #include <string.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <unistd.h>
- #define size 10000000
- int num[size] = {0};
- void swap(int* a, int* b)//第一種,也是最常用的一種
- {
- int t;
- t=*a;
- *a=*b;
- *b=t;
- }
- int main()
- {
- int n;
- int i, j;
- FILE *fp = fopen("data.txt", "w");
- assert(fp);
- for (n = 0; n < size; n++) //之前此處寫成了n=0;n<size。導致下面有一段小程式的測試資料出現了0,特此訂正。
- num[n] = n+1;
- srand((unsigned)time(NULL));
- printf("num init ok\n");
- for (i = size - 1; i >= 1; --i)
- {
- swap(&num[i], &num[rand() % i]);
- }
- for (n = 0; n < size; n++)
- fprintf(fp, "%d ", num[n]);
- fclose(fp);
- return 0;
- }
相關文章
- 高效產生一組不重複的隨機數隨機
- 高效產生一組不重複的隨機數(受程式設計珠磯啟示)java實現隨機程式設計Java
- 巧用物件,生成不重複隨機數物件隨機
- C++【生成16個不重複字母】(生成不重複隨機數)C++隨機
- 如何生成隨機不重複的11位數字隨機
- matlab之生成不重複的隨機整數Matlab隨機
- R產生隨機數隨機
- javascript生成不重複隨機數程式碼例項JavaScript隨機
- vc中產生隨機數隨機
- c++產生隨機數C++隨機
- 計算機隨機數的產生 (轉)計算機隨機
- 集合框架-產生10個1-20之間的隨機數,要求隨機數不能重複框架隨機
- JavaScript 陣列隨機不重複元素JavaScript陣列隨機
- 【筆記】如何產生隨機數筆記隨機
- js隨機產生區間數JS隨機
- 生成固定長度不重複的隨機字串隨機字串
- matlab產生隨機數或隨機矩陣Matlab隨機矩陣
- C語言程式生成指定範圍的不重複的隨機數C語言隨機
- js獲取指定位數不重複隨機數程式碼例項JS隨機
- 如何產生指定範圍的隨機數隨機
- C 語言產生隨機數的方法隨機
- C語言產生隨機數的方法C語言隨機
- linux生產32位隨機數Linux隨機
- JavaScript隨機不重複的字元組成新的字串JavaScript隨機字元字串
- JavaScript陣列中隨機取出不重複項JavaScript陣列隨機
- JavaScript產生隨機數例項程式碼JavaScript隨機
- 從oracle表中隨機取記錄,產生隨機數和隨機字串Oracle隨機字串
- 產生0到100內的任意隨機數隨機
- ORACLE產生隨機數的多種方法分享 轉Oracle隨機
- python怎麼生成隨機不重複陣列Python隨機陣列
- matlab中的產生隨機數的rand函式Matlab隨機函式
- Matlab產生隨機數函式小結Matlab隨機函式
- Rust中如何產生隨機數或密碼?Rust隨機密碼
- 利用arc4random_uniform()產生隨機數randomORM隨機
- Matlab產生特定範圍的隨機數矩陣Matlab隨機矩陣
- js實現的產生隨機數程式碼例項JS隨機
- MATLAB中如何產生指定範圍的隨機數Matlab隨機
- 隨機產生0-1之間實數的方法隨機