0

特定の構造を含む大きなファイルがあります。構造内の特定のフィールドで最も一般的に発生する上位 10 個の値を知りたいのですが、1 回の解析でそれを実行できますか?

4

1 に答える 1

1

フィールドと出現回数を含む連想配列を保存および更新する必要があります。異なるフィールドの数によっては、メモリが制限されます。

それが終わったら、値に基づいて配列の並べ替えを行います。

私の知る限り、C には連想配列データ型が含まれていないため、サードパーティのライブラリを使用する必要があります。いくつかのオプションについては、C で適切なハッシュ テーブルの実装を探すを参照してください。

ソートに関してはhttp://linux.die.net/man/3/qsortがあります。

したがって、可能なメモリ要件を無視して、1回のパスで実行できます。

于 2012-04-12T06:11:18.510 に答える