**:
2.deque(動態陣列)
deque支援隨機訪問。
在deque的首端和末端插入和刪除元素比較快,在中部插入和刪除則比較慢。
deque的記憶體重分配效能比vector好。
3.list(雙向鍊錶)
list不支援隨機訪問。
list在任何位置安插和刪除元素速度都比較快(雙向鍊錶)。
list的安插和刪除操作不會使其他元素的各個pointer,reference,iterator失效。
4.set和multiset(平衡二叉樹)
兩者不支援直接訪問元素的操作,因為是自動排序。
查詢元素速度比較快。
不能直接改變元素值,否則會打亂原本正確的順序。必須先下刪除舊元素,再插入新的元素。
5.map和multimap(平衡二叉樹)
基本同set。
根據已知的key查詢元素速度比較快,根據value則比較慢。
STL 各種容器
c stl 的實現 1.vector 底層資料結構為陣列 支援快速隨機訪問 2.list 底層資料結構為雙向鍊錶,支援快速增刪 3.deque 底層資料結構為乙個 控制器和多個緩衝區,詳細見stl原始碼剖析p146,支援首尾 中間不能 快速增刪,也支援隨機訪問 4.stack 底層一般用23實現,封...
STL容器效率比較
1 vector 變長一維陣列,連續存放的記憶體塊,有保留記憶體,堆中分配記憶體 支援操作,高效率的隨機訪問 在最後增加元素時,一般不需要分配記憶體空間,速度快 在中間或開始操作元素時要進行記憶體拷貝效率低 vector高效的原因在於配置了比其所容納的元素更多的記憶體,記憶體重新配置會花很多時間 注...
STL容器效率比較
1 vector 變長一維陣列,連續存放的記憶體塊,有保留記憶體,堆中分配記憶體 支援操作,高效率的隨機訪問 在最後增加元素時,一般不需要分配記憶體空間,速度快 在中間或開始操作元素時要進行記憶體拷貝效率低 vector高效的原因在於配置了比其所容納的元素更多的記憶體,記憶體重新配置會花很多時間 注...