我正在尋找最佳解決方案。我想存儲對象:鍵值在容器中。我需要通過按鍵對每個元素進行「良好」訪問,並且需要查找具有最低值的元素。查找具有最低值的元素的關聯容器
你會推薦什麼容器?有沒有比std :: map更好的解決方案(在STL或Boost中)? (訪問元素是確定,但尋找的最低值是O(n),我猜的)..
[編輯]
對不起,我錯過了增加一個非常重要的事情。其實我是想獲得最低的元素(最低值),並刪除它...
比方說,我的用法是:
1)訪問某些元素(按鍵)
2)訪問元素與最低值,將其取下
3)進入第一步,如果容器不爲空
我應該用什麼?你怎麼看?
那麼你可以使用['std :: map'](http://en.cppreference.com/w/cpp/container/map)和一個自定義的比較函數,這樣它就按照值而不是按鍵。然後,「最低」條目將始終是'yourMap.begin()'。 – 2014-10-20 11:41:38
@Joachim Pileborg:這怎麼可能,因爲'std :: map'需要一個二元謂詞,它以兩個元素鍵作爲參數? – TNA 2014-10-20 11:47:37
@TNA那麼如果你有鑰匙,那麼你可以獲得數據。如果你有數據,你可以用它來做比較。 – 2014-10-20 11:53:59