這個迴圈如何提高它的速度? |
|
w45
一般會員 發表:25 回覆:29 積分:15 註冊:2006-07-13 發送簡訊給我 |
各位老大,這個迴圈如何提高它的速度?這個速度很慢,我希望它能快一點
int iCoun; AnsiString iFileInfo1[330000][2]; int tFileInfo1=330000; AnsiString iFileInfo2[3300000][2];//第二個目錄 int tFileInfo2=330000;//檔總數量 for(int i=0;i for(int j=0;j if(iFileInfo2[i][1]==iFileInfo1[j][1]) { iCoun ; break;//結束本次迴圈 } } } |
w45
一般會員 發表:25 回覆:29 積分:15 註冊:2006-07-13 發送簡訊給我 |
===================引 用 文 章=================== 各位老大,這個迴圈如何提高它的速度?這個速度很慢,我希望它能快一點
? int iCoun; ? AnsiString iFileInfo1[330000][2]; ? int tFileInfo1=330000; ? AnsiString iFileInfo2[3300000][2];//第二個目錄 ? int tFileInfo2=330000;//檔總數量 ??? for(int i=0;i??? { ??????? for(int j=0;j??????? { ??????????? if(iFileInfo2[i][1]==iFileInfo1[j][1]) ??????????? { ????????????? iCoun ; ????????????? break;//結束本次迴圈 ??????????? } ??????? } ??? } |
GGL
資深會員 發表:104 回覆:600 積分:335 註冊:2006-11-05 發送簡訊給我 |
|
subnike
一般會員 發表:1 回覆:1 積分:0 註冊:2004-01-06 發送簡訊給我 |
|
Coffee
版主 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
|
jniliuaz
一般會員 發表:0 回覆:3 積分:0 註冊:2006-12-07 發送簡訊給我 |
建議你將兩個目錄的內容字串 做成排序
之後再慢慢比 因為你的做法很像在比密碼 ===================引 用 文 章=================== 各位老大,這個迴圈如何提高它的速度?這個速度很慢,我希望它能快一點
int iCoun; AnsiString iFileInfo1[330000][2]; int tFileInfo1=330000; AnsiString iFileInfo2[3300000][2];//第二個目錄 int tFileInfo2=330000;//檔總數量 for(int i=0;i |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
1.不要用 AnsiString. 直接用 char *
因為呼叫 class 的東西。多了數次的 push, pop 2.用了 char* 可以把 array 改成 point 這樣如果不是在很好的最佳化。它會比較快。 因為轉到 asm 時。它的呼叫不是用 index 方式。而是利用直接加法。 3.改成 char 的比較。 比起用 ansistring 的比較。要快得多。 不過。你有得改勒。 ===================引 用 文 章=================== 各位老大,這個迴圈如何提高它的速度?這個速度很慢,我希望它能快一點
int iCoun; AnsiString iFileInfo1[330000][2]; int tFileInfo1=330000; AnsiString iFileInfo2[3300000][2];//第二個目錄 int tFileInfo2=330000;//檔總數量 for(int i=0;i |
w45
一般會員 發表:25 回覆:29 積分:15 註冊:2006-07-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |