寫入40m的int變數
容器記憶體
寫入用時
從頭部移除用時
vector
47m
5 秒
list
程式設計客棧; 739m
21秒
69 秒 &nb程式設計客棧sp;
deque
217m
4 秒
2203毫秒
set 821m
137秒
map&n 905m
136秒
從上面的資料來看寫入用時vector和deque很快,因為他們記憶體分配次數少,關聯容器和l都是乙個乙個分配的,乙個乙個分配也會造成記憶體碎片,記憶體利用率低。
每次在中間插入資料,寫入40m的int變數
容器時間
deque
太慢不知道什麼時候可以完成
list
47秒 &n
說明在中間插入或者刪除list很快,在頭部或者尾部要比deque慢很多
本文標題: stl各個容器效能詳細比較
本文位址:
STL容器效率比較
1 vector 變長一維陣列,連續存放的記憶體塊,有保留記憶體,堆中分配記憶體 支援操作,高效率的隨機訪問 在最後增加元素時,一般不需要分配記憶體空間,速度快 在中間或開始操作元素時要進行記憶體拷貝效率低 vector高效的原因在於配置了比其所容納的元素更多的記憶體,記憶體重新配置會花很多時間 注...
STL容器效率比較
1 vector 變長一維陣列,連續存放的記憶體塊,有保留記憶體,堆中分配記憶體 支援操作,高效率的隨機訪問 在最後增加元素時,一般不需要分配記憶體空間,速度快 在中間或開始操作元素時要進行記憶體拷貝效率低 vector高效的原因在於配置了比其所容納的元素更多的記憶體,記憶體重新配置會花很多時間 注...
STL容器的效率比較
順序儲存容器 string vector list deque 關聯儲存容器 map底層採用的是樹型結構,多數使用平衡二叉樹實現,查詢某一值是常數時間,遍歷起來效果也不錯,只是每次插入值的時候,會重新構成底層的平衡二叉樹,效率有一定影響.set 和map都是無序的儲存元素,只能通過它提供的介面對裡面...