C/C++の宿題を片付けます 89代目
■ このスレッドは過去ログ倉庫に格納されています
0293デフォルトの名無しさん
2007/06/09(土) 05:43:09全然検証もクソもしてないが、各先頭文字が同じ文字列数が同数と仮定して
forループの前のSEEK位置の初期化時に当たりつけて、
fseek(fp, (arg[1]<'A'?arg[1]-'a':arg[1]-'A')*(filesize/26), SEEK_SET);
ぐらいから前方、または後方に探す方が早くないか?
後ろの方の単語の検索が遅くなる度合いを、演算1行とif分岐1回で
平均化出来ると思うんだけど、微妙かな?
演算1回だからfilesize/26で良いと思うが、filesize>>5のが早いかも?
■ このスレッドは過去ログ倉庫に格納されています