我正在爲一個基本的OOP C++課程編寫一個項目。我必須實現Media
類型的對象集(以及派生對象Book
,Movie
,Album
)。對這些集合的操作是:添加元素,刪除某個元素(不一定是第一個或最後一個元素),搜索集合(搜索可以返回多個結果)。排序不是必需的,但我認爲這將是一個很好的補充。這個數據的哪個數據結構?
所以我想知道,這將是最好的數據結構?簡單的數組,矢量或列表? (請注意,我必須寫實現,我不能使用std類。) 因爲我沒有處理大量數據,所以我並不關心效率或內存消耗,但我仍然應該能夠解釋我爲什麼選擇一個特定的數據結構。
我認爲一個列表將是優選的用於去除和添加項目,但向量具有索引操作符[],可以是用於搜索功能(其可以返回索引的陣列)是有用的。
嗯,你是「遊蕩」呃? :P –
@TonyTheLion:是的,他在流浪,但我讓他「疑惑」:P – Nawaz
你似乎是對的。我還建議查看[鏈接列表](http://en.wikipedia.org/wiki/Linked_list)和[哈希表](http://en.wikipedia.org/wiki/Hash_table) –