[問題] deque vs vector

看板C_and_CPP作者 (改)時間14年前 (2011/10/04 11:18), 編輯推噓0(008)
留言8則, 5人參與, 最新討論串1/3 (看更多)
STL源碼剖析提到deque的複雜度較vector高,所以使用Algorithm 的sort()時,vector會比較怏。 可是我使用VC2005測試發現,deque 使用sort()反而比Vector快,這是為什麼呢? -- posted from android bbs reader on my motorola MB525 https://market.android.com/details?id=com.bbs.reader -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 101.8.35.117

10/04 12:29, , 1F
這一定是有什麼誤會.. (逃)
10/04 12:29, 1F

10/04 12:32, , 2F
比較環境程式碼以及編譯參數都沒給 失敗
10/04 12:32, 2F

10/04 16:52, , 3F
vector是屬於「砍掉重練」的類型,新增資料也是砍掉再重建
10/04 16:52, 3F

10/05 15:03, , 4F
不對, vector 一般的新增資料 (push_back) 平常不會重建
10/05 15:03, 4F

10/05 15:04, , 5F
在大小超出預留大小的時候才會重建
10/05 15:04, 5F

10/09 08:00, , 6F
vector砍掉重建只在超出capacity的時候,因為要支援快速存取
10/09 08:00, 6F

10/09 08:04, , 7F
在capacity內時push_back不會重建,或在容器中insert也會發
10/09 08:04, 7F

10/09 08:04, , 8F
生大搬家
10/09 08:04, 8F
文章代碼(AID): #1EYdhn4M (C_and_CPP)
文章代碼(AID): #1EYdhn4M (C_and_CPP)