Vector , list 和 deque的區別

2022-03-24 09:22:16 字數 260 閱讀 5503

vector   表示一段連續的記憶體區域,每個元素被順序儲存在這段記憶體中,對vector   的隨機訪問效率很高,但對非末尾元素的插入和刪除則效率非常低。 

deque   

也表示一段連續的記憶體區域,但與vector不同的是它支援高效地在其首部插入和刪除元素,它通過兩級陣列結構來實現,一級表示實際的容器,第二級指向容器的首和尾 

list   表示非連續的記憶體區域並通過一對指向首尾元素的指標雙向鏈結起來,插入刪除效率高(可以在任何區域插入),隨機訪問效率低 

vector,list和map的構造

vector vector可能是應用最廣泛的容器類。vector支援動態陣列,即可以依據需要擴充的陣列。在c 中,乙個陣列的大小在編譯時就已確定了,這是應用陣列最有效的途徑,也是限制性最大的方法,程式無法在執行時調節陣列的大小來適應變化的程式條件。vector容器通過依據需要分配記憶體解決了這一問題...

vector list 和deque的優缺點

vector表示一段連續的記憶體區域,隨機訪問效率很高,因為每次訪問離起始處的位移都是固定的,但是在隨意位置插入刪除元素效率很低,因為它需要將後面的元素複製一遍。list表示非連續的記憶體區域,並通過一對指向首尾元素的指標雙向鏈結起來,從而允許向前和向後兩個方向進行遍歷。在list的任意位置插入和刪...

STL順序容器vector,list和deque

順序容器是通過將指定型別的元素按照位置順序進行儲存和訪問的一種容器型別.stl標準庫中的順序容器有三種 vector,list,和deque double ended queue雙端佇列,讀 d k 三個容器對應的標頭檔案 include include include一,容器的通用建構函式,假設容...