2012-03-22 19 views
2

書籍をカタログ化する簡単なプログラムを作成しようとしています。例えば、このような何か、:範囲検索のデータ構造(再訪)

struct book{ 
    string author; 
    string title; 
    int catalogNumber; 
} 

は最終的に、私は範囲をもとに範囲や著者検索に基づいて、タイトル検索を行うことができるようにしたいです。したがって、ユーザーは、タイトルが "aa"で始まる書籍の結果を "be" ...または同じ範囲内の著者に表示するように指定できます。

私は、著者検索とタイトル検索の2つのセットを維持するつもりでした。しかし、CSVファイルからセットにライブラリをロードすると、同じタイトルの2冊の書籍をタイトル検索セットのセットに入れることはできないと思いました。著者検索セットの同じ著者。

これは間違いありませんか?これを簡単に行うことができる別のデータ構造がありますか?

ありがとうございます!

+0

マルチマップは良い選択でしょうか?しかし、私はどのように範囲の検索を行うだろうかわからない... –

+2

あなたは下限の検索(下限)を行い、イテレータを取得し、それが上限を通過するまで繰り返します。 –

答えて

2

確かに - multisetまたはmultimapを使用してください。重複するキーを許可するだけで同じです。

+0

har ...私が使用していたC++リファレンスサイトでは、マルチセットが表示されませんでした。ありがとう! –