1. 程式人生 > >std deque簡單說明

std deque簡單說明

               

std::deque是一個高效的雙端佇列,可以高效地進行插入和刪除操作。

以SGI C++ STL為例
deque的基本結構是:有一個map ,map中的元素是一個記錄了一個大小為512位元組的線性容器。

std::deque的構造方法:
std::deque<int> queInt;//空佇列
std::deque<int> queInt(10);//長度為10的佇列(其中元素被初始化為該型別的0值)
std::deque<int> queInt(10,5);//長度為10的佇列(其中元素被初始化為該型別的5)


std::deque<int> queIntTemp(10,5);//長度為10的佇列(其中元素被初始化為該型別的5)
std::deque<int> queInt(queIntTemp);//以queIntTemp初始化queInt

int nArray[5] = {0,1,2,3,4};
std::deque<int> queInt(nArray, nArray + 5);//注意這裡是nArray + 5,而不是nArray + 4

插入資料的方法
push_back();//末尾插入
push_front();//前端插入

刪除方法
pop_front();
pop_back();
erase();
clear();

lincyang注:

如果需要使用“訊息佇列”,那麼用deque是再好不過了!高效的插入和刪除,是deque與vector和list的區別。

從一個vector的尾部追加和刪除元素是快速高效的;在list插入和刪除元素的效率在任何位置都是等效的,但查詢一個元素是費時的。