この問題をコーディングするためのソートアルゴリズムを選択するには、いくつかのアドバイスが必要です。
フェーズ1では、プログラムはデータベースからclientIDとそれぞれのハッシュ(おそらく構造体を使用します)をフェッチします。0または数千のレコードが存在する可能性があります。
フェーズ2では、プログラムはXMLファイルから読み取られたレコードを使用してこのセットを完成させます。私はすでにストリームパーサーを構築しました。XMLファイルには、請求書データの前にすべてのクライアント情報が順番に含まれています。
フェーズ2が完了すると、プログラムは請求書データを読み取ります。請求書ごとに1つのclientIDがあり、これはクライアントのセットからチェックする必要があります。請求書の数は数百万のレコードになる可能性があります。
私が最初に思ったこと。クライアントレコードがいくつあるかわからないので、リンクリストを使用して動的にメモリを追加する必要があります。フェーズ2の終わりに、clientID順に並べられたデータの配列を作成できるので、請求書ごとに1つずつ、さらに検索を実行できます。おそらく、バイナリ検索を使用してすばやく取得できます。
この状況に対処するためにあなたが私に何をアドバイスするのか知りたいのですが。どのソートアルゴリズムを使用する必要がありますか?(私はCでコーディングします)。