Deque(雙端隊(duì)列)是一種動(dòng)態(tài)數(shù)組,它的擴(kuò)容機(jī)制和vector類似。當(dāng)向deque容器中插入元素時(shí),如果當(dāng)前的容量不夠,它會(huì)重新分配一塊更大的內(nèi)存空間,并將原來的元素拷貝到新的內(nèi)存空間中。deque容器的擴(kuò)容機(jī)制如下:
當(dāng)往deque容器的前端或后端插入元素時(shí),如果當(dāng)前的容量不夠,會(huì)首先分配一塊更大的內(nèi)存空間,通常是當(dāng)前容量的兩倍。
然后將原來的元素按照其在deque中的順序拷貝到新的內(nèi)存空間中。
最后釋放原來的內(nèi)存空間,并將指向原來內(nèi)存空間的指針指向新的內(nèi)存空間。
這種擴(kuò)容機(jī)制保證了插入元素的時(shí)間復(fù)雜度為O(1),同時(shí)也避免了頻繁的內(nèi)存分配和拷貝操作,提高了性能。deque容器的擴(kuò)容是自動(dòng)完成的,用戶無需手動(dòng)干預(yù)。