2017-07-06 35 views
-1

當我嘗試生成不同的排序算法隨機值GPROF他們並比較結果,我發現隨機()函數實例中創建相同的價值觀和以相同的順序。有沒有辦法擺脫它?隨機()函數相同的值(而格羅夫荷蘭國際集團)

例我試圖仿形冒泡排序等隨機創建的10000個值和泡沫排序它,現在再次當我給萬個值其生成同一組值之前和以相同的順序。

當我改變了值1000以前測試的第一1000個值分別爲這種情況下完全相同。我改變了不同的可能性範圍,如只有正整數和正整數,負整數。 random()函數產生相同的值的原因是什麼?有沒有辦法解決它?

+0

與Google合作的什麼語言?是C,C++還是其他? – jww

+0

「隨機()函數」不明確。您需要指定語言(這比指定操作系統更重要)。 –

+0

@jww我用C –

回答

1

當您使用隨機您需要提供種子,否則你總是會得到相同的結果。一個常用的種子是當前時間。

正如在這裏看到:How to generate a random number in C?

#include <time.h> 
#include <stdlib.h> 

srand(time(NULL)); // should only be called once 
int r = rand();  // returns a pseudo-random integer between 0 and RAND_MAX 
+0

可以請你詳細說明一下嗎? –

+0

@ManojOffo你使用什麼語言? –

+0

我用C .......... –

相關問題