如何產生1000萬個無序數

#include <iostream>  
#include <time.h>  
#include <assert.h>  
using namespace std;  
  
const int size = 10000000;  
int num[size];  
  
int main()  
{  
    int n;  
    FILE *fp = fopen("data.txt", "w");  
    assert(fp);  
  
    for (n = 1; n <= size; n++)     
        num[n] = n;  
    srand((unsigned)time(NULL));  
    int i, j;  
  
    for (n = 0; n < size; n++)  
    {  
        i = (rand() * RAND_MAX + rand()) % 10000000;  
        j = (rand() * RAND_MAX + rand()) % 10000000;  
        swap(num[i], num[j]);  
    }  
  
    for (n = 0; n < size; n++)  
        fprintf(fp, "%d ", num[n]);  
    fclose(fp);  
    return 0;  
}  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章