C++ STL deque容器

风陵南發表於2024-05-13

deque 容器

  • deque (讀作deck)是“doble-ended-queue”的縮寫,和vector一樣都是STL的容器
  • deque是雙端陣列,而vector是單端
    • 單端與雙端:vector 在首部插入資料時,會在末端開闢新位置,然後整體移動過去,而deque在首部插入資料時,能夠直接在首部前開闢空間儲存插入資料而避免了移動,在末端插入資料也可在末端開闢新空間,所以稱為雙端。
  • deque在介面上和vector非常相似,許多操作可以直接替換
    • deque比vector多了兩個函式
      • deque.push_front(elem) 在容器頭部插入資料
      • deque.pop_front() 刪除容器頭部的資料
  • deque在頭部和尾部新增移除元素都非常快速,但在中部安插或移除元素比較費時。
  • #include "deque"
  • 實際應用過程中,首選使用vector,當有頻繁的需要在頭部的插入元素的需求時,才會考慮使用deque。

相關文章