STL各個容器效能詳細比較

2022-10-04 04:42:10 字數 721 閱讀 3301

寫入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都是無序的儲存元素,只能通過它提供的介面對裡面...