1. 程式人生 > >std::deque

std::deque

lose 標準 play closed style ssi emp 大小 構造

Deque 容器
deque容器是C++標準模版庫(STL,Standard Template Library)中的部分內容。
deque容器類與vector類似,支持隨機訪問和快速插入刪除,它在容器中某一位置上的操作所花費的是線性時間。
與vector不同的是,deque還支持從開始端插入數據:push_front()。
使用deque容器之前必須加上<deque>頭文件:#include<deuqe>;
deque屬於std命名域的內容,因此需要通過命名限定:using std::deque;
也可以直接使用全局的命名空間方式:using namespace std;

構造函數

技術分享圖片
  deque<Elem> c 創建一個空的deque
  deque<Elem> c1(c2) 復制一個deque。
  deque<Elem> c(n) 創建一個deque,含有n個數據,數據均已缺省構造產生。
  deque<Elem> c(n, elem) 創建一個含有n個elem拷貝的deque。
  deque<Elem> c(beg,end) 創建一個以[beg;end)區間的deque。
  ~deque<Elem>() 銷毀所有數據,釋放內存。
 
View Code

成員函數

技術分享圖片
c.begin()返回指向第一個元素的叠代器
c.end()返回指向最後一個元素下一個位置的叠代器
c.rbegin()返回指向反向隊列的第一個元素的叠代器(即原隊列的最後一個元素)
c.rend()返回指向反向隊列的最後一個元素的下一個位置(即原隊列的第一個元素的前一個位置)
c.assign(n,num)將n個num拷貝復制到容器c
c.assign(beg,end)將[beg,end)區間的數據拷貝復制到容器c
c.at(pos)返回索引為pos的位置的元素,會執行邊界檢查,如果越界拋出out_of_range異常
c.operator[]下標運算符重載
c.empty()判斷c容器是否為空
c.front()返回c容器的第一個元素
 
c.back()返回c容器的最後一個元素
c.size()返回c容器中實際擁有的元素個數
c.max_size()返回c容器可能存放元素的最大數量
c.clear()清除c容器中擁有的所有元素
c.insert(pos,num)在pos位置插入元素num
c.insert(pos,n,num)在pos位置插入n個元素num
 
c.insert(pos,beg,end)在pos位置插入區間為[beg,end)的元素
c.erase(pos)刪除pos位置的元素c.erase(beg,end)刪除區間為[beg,end)的元素
c.erase(beg,end)刪除區間為[beg,end)之間的元素
c.push_back(num)在末尾位置插入元素
c.pop_back()刪除末尾位置的元素
c.push_front(num)在開頭位置插入元素
c.pop_front()刪除開頭位置的元素
c.resize(num)從新定義容器的大小
c1.swap(c2)交換容器c1,c2;
 
swap(c1,c2)同上。
View Code

重載運算符

技術分享圖片
operator=賦值運算符重載
operator==
operator!=
operator<
operator<=
operator>
operator>=
View Code

std::deque