STL之random_shuffle演算法....結果都一樣?! |
尚未結案
|
okeyla
一般會員 發表:51 回覆:20 積分:19 註冊:2003-06-12 發送簡訊給我 |
|
a_mi
一般會員 發表:43 回覆:43 積分:22 註冊:2003-12-07 發送簡訊給我 |
|
mkbobo
一般會員 發表:4 回覆:68 積分:19 註冊:2003-04-10 發送簡訊給我 |
random_shuffle 它有兩個型態
第一種 inline void random_shuffle (RandomAccessIterator first, RandomAccessIterator last) { __random_shuffle(first, last, __distance_type(first)); } 第二種 void random_shuffle (RandomAccessIterator first, RandomAccessIterator last, RandomNumberGenerator& rand);有沒有發現它有什麼不同阿~~^^ 第一個 他帶入的永遠是你傳入第一個當它的亂數種子 第二個 卻是帶入一個亂數產生器 而這個亂數產生器 是使用者自訂的 以下為程式碼 class MyRandom { public: ptrdiff_t operator()(ptrdiff_t max) { double tmp; LARGE_INTEGER lpPerformanceCount; QueryPerformanceCounter( &lpPerformanceCount ); //利用來做種子的 int a=static_cast這段程式碼我是參考 The C Standard Library 作者(Nicolai M.Josuttis) 做一些修改 他原本是利用rand()做種子 但是有個缺點 每第一次執行程式時 結果都一樣 你也可以去修改種子~~達到你要的目的^^ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |