我應該使用哪個STL容器如果:要使用哪個STL容器?
- 數據被定期插入和移除。
- 定期隨機訪問數據。
E.g:數據集(4,10,15),如果我想找到最接近的號碼9,那麼它應該返回我10
- 我只存儲一個整數。
- 它需要進行排序
- 可以到100K的數據集
我想用載體,但載體插入和刪除是昂貴的。
vector<int>
如果我要使用列表,我將不得不訪問O(n)元素才能到達數據。
list<int>
我在考慮使用設置爲這將是很好的,如果它被分類了,但是我不是很肯定的效率使用SET
所以我希望有人可以給一個很好的解決方案!
這完全取決於您如何插入和訪問數據以及如何對數據進行排序。你需要隨機訪問?你需要保持數據的確切順序嗎? – Ruud
你想如何訪問你的數據? 訪問數據的向量的Becausse也是o(n),除非您知道您想要訪問的項目的索引? – Nactive
如果矢量排序,查找只有log(n),因爲您可以執行二進制搜索 –