2011-09-30 83 views
1

我發現了一段能很好地用一個唯一的隨機數填充數組的代碼。 現在我的問題是,我想要排序這些數字,但不是在數組已滿後,但是在插入新數字時不能使用 。所以每個新的號碼被插入到陣列中,如果發現的位置是指是在我爲創造獨特的隨機數低於,代碼預先感謝您:對插入的唯一隨機數組進行排序

#include <iostream> 
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <time.h> 
    using namespace std; 
    #define MAX 2000  // Values will be in the range (1 .. MAX) 
    static int seen[MAX]; // These are automatically initialised to zero 
          // by the compiler because they are static. 
    static int randomNum[1000]; 

    int main (void) { 
    int i; 

    srand(time(NULL)); // Seed the random number generator. 

    for (i=0; i<1000; i++) 
    { 
     int r; 
     do 
    { 
     r = rand()/(RAND_MAX/MAX + 1); 
     } 
    while (seen[r]); 
     seen[r] = 1; 
     randomNum[i] = r + 1; 
     } 

     for (i=0; i<1000; i++) 
     cout << randomNum[i] << endl; 

    return 0; 
} 

回答