看板 C_Sharp 關於我們 聯絡資訊
最後我直接採用List的比對方法. 先把產生的序列存入List, 然後對List排序, (list.sort) 然後跑 for(i=0;i<List.count-1;i++) { if( List[m]==List[m++]) { writetofile(List[m]); } } 這樣, 比起I/O讀取快上很多, 我想我的問題是在於,100萬筆資料,I/O要跑100萬*100萬 而這個方法只需要比對100萬次就好. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.226.154
whelp:超過十萬筆資料可能還是要考慮一下搜尋法... 03/01 11:56
liaommx:目前使用這方法,最慢大約5分鐘可以完成..XD 03/01 12:23
liaommx:歸功於List.sort...:P 03/01 12:23
F23ko:我寫的那個,邊產生邊檢查,只要八秒..... 03/01 12:39
liaommx:我知道..XD..tree的方法對我來說我還要一點時間消化一下 03/01 12:41
liaommx:所以我先寫出個可以用的來用, 03/01 12:41
F23ko:當初學tree時我也是一直按F11看了好幾遍才懂 03/01 12:45
F23ko:盲點在於.... 一直看同一段程式在跑,人會把它當成同一個 03/01 12:46
F23ko:「東西」。事實上,把每個樹節都當成是不同東西來看,就能搞 03/01 12:47
F23ko:清楚那個概念了。 03/01 12:48
liaommx:非常感謝您,我會找時間看懂他的, 03/01 14:38
FAITHY:writetofile是什麼 紀錄重複的亂數嗎@@ 03/01 22:53
FAITHY:那如果list[i]==list[i+1]==list[i+2]不是記錄兩次一樣的嗎 03/01 22:55
FAITHY:還是你只要記錄重複的個數和數次@@ 03/01 22:58
liaommx:我是單純想像,若重複的亂數最多只有兩個 03/02 06:23
liaommx:所以你提到的是對的,這段可以再修改.只是太急了XD 03/02 06:24
liaommx:程式的主要目的不是產生亂數,而是假設我想的亂數產生方法 03/02 06:25
liaommx:不容易產生重複.所以要驗證 03/02 06:25