Deque as Default Container
Posted on November 12th, 2007 at 22:23 by fr3@K

搞不清楚 list, vectordeque 的差異?

最好的方法當然是能深入了解 C++ Standard 對它們的規範. 否則可以參考下面幾個 check point:

  • Container 所包含的 (element) sequence 在 memory 的 layout 必須是連續的. 唯一的選擇是 vector
  • 需要 iterator 的位置在插入一個新的 element 或 remove 另一個 element 之後保持有效. 只有 list 能滿足這需求
  • 常在 sequence 中間 (非頭尾) 位置 insert 或 remove. list 會是較好的選擇
  • vectordeque 都可以滿足以隨機方式存取 sequence 中的 element. 唯前者效能較好 (constant time)
  • 在還沒確認需求時, 建議以 deque 做為 default sequence container template

延伸閱讀 GotW #54: Using Vector and Deque.

del.icio.us:Deque as Default Container digg:Deque as Default Container spurl:Deque as Default Container newsvine:Deque as Default Container furl:Deque as Default Container Y!:Deque as Default Container 黑米共享書籤:Deque as Default Container 推推王:Deque as Default Container
Previous Post
« 加油~ «
Next Post
» 忙茫盲? »

Zero Comments »

No comments yet.

Comments RSS TrackBack URI

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>