Re: [問題] 怎麼加速讀檔 loop
看板C_and_CPP (C/C++)作者x000032001 (某數..失業中)時間15年前 (2011/01/02 11:13)推噓0(0推 0噓 0→)留言0則, 0人參與討論串3/4 (看更多)
稍微測試了一下 我用的測試檔為 99999 99999 * 2^22行 共53MB
我寫了一個用scanf讀取的版本 大致上是這樣
cin.clear();
freopen("in.txt","rt",stdin);
int a;
float b;
while( scanf(" %d %f",&a,&b) == 2 )
{
func(a,b);
}
執行時間為8.75s (改用double並無顯著差異)
再來是兩個int
cin.clear();
freopen("in.txt","rt",stdin);
int a,b;
while( scanf(" %d %d",&a,&b) == 2 )
{
func(a,b);
}
執行時間為4.5s (在這邊用cin的話執行時間會是19s)
沒有特別需求的話用scanf就可以大大的加速了 printf也是
然後這是一個比較麻煩的版本..時間是1.5s 毫無反應就只是getchar
不過程式寫的很醜就是了
http://codepad.org/C84Vx3Nj
--
學程式學了一年多能看的好像只剩讀檔..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.240.38.38
討論串 (同標題文章)
完整討論串 (本文為第 3 之 4 篇):
2
13
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
11
38