2012-03-22 61 views
2

試圖製作一個簡單的程序來編目。像這樣的事情,例如:範圍搜索的數據結構(重新訪問)

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

最後,我希望能夠基於基於一個範圍內或作者搜索做題搜索。因此,用戶可以指定顯示標題以「aa」,「be」或同一範圍內的作者開頭的圖書結果。

我打算保持兩套......一個用於作者搜索,另一個用於標題搜索。但是,我意識到,當我從csv文件加載圖書館到集合中時,我認爲它不允許我將兩本相同標題的書放入標題搜索集或書籍中作者搜索集的作者。

這是正確的嗎?有沒有其他的數據結構可以很容易地做到這一點?

謝謝!

+0

多地圖會是一個不錯的選擇嗎?但我不知道我怎麼做一個範圍搜索,雖然... – 2012-03-22 15:30:53

+2

你做一個搜索(下限)的下限,獲取迭代器,並迭代它,直到它超過了上限。 – 2012-03-22 15:40:54

回答

2

當然 - 使用multisetmultimap。它們完全相同,只是允許重複鍵。

+0

...甚至沒有看到我正在使用的C++參考網站上的multiset。謝謝! – 2012-03-22 15:43:12