程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 深入分析C++中deque的使用

深入分析C++中deque的使用

編輯:C語言基礎知識

首先,當考慮到內存分配和執行性能的時候,使用std::deque要比std::vector好。

Deque總覽

deque和vector一樣都是標准模板庫中的內容,deque是雙端隊列,在接口上和vector非常相似,在許多操作的地方可以直接替換。假如讀者已經能夠有效地使用vector容器,下面提供deque的成員函數和操作,進行對比參考。

函數 描述 c.assign(beg,end)
c.assign(n,elem)  將[beg; end)區間中的數據賦值給c。
將n個elem的拷貝賦值給c。 c.at(idx)  傳回索引idx所指的數據,如果idx越界,拋出out_of_range。 c.back()  傳回最後一個數據,不檢查這個數據是否存在。 c.begin()  傳回迭代器重的可一個數據。 c.clear()  移除容器中所有數據。 deque<Elem> c
deque<Elem> c1(c2)
Deque<Elem> c(n)
Deque<Elem> c(n, elem)
Deque<Elem> c(beg,end)
c.~deque<Elem>()  創建一個空的deque。
復制一個deque。
創建一個deque,含有n個數據,數據均已缺省構造產生。
創建一個含有n個elem拷貝的deque。
創建一個以[beg;end)區間的deque。
銷毀所有數據,釋放內存。 c.empty()  判斷容器是否為空。 c.end()  指向迭代器中的最後一個數據地址。 c.erase(pos)
c.erase(beg,end)  刪除pos位置的數據,傳回下一個數據的位置。
刪除[beg,end)區間的數據,傳回下一個數據的位置。 c.front()  傳回地一個數據。 get_allocator  使用構造函數返回一個拷貝。 c.insert(pos,elem) 
c.insert(pos,n,elem)
c.insert(pos,beg,end) 在pos位置插入一個elem拷貝,傳回新數據位置。
在pos位置插入>n個elem數據。無返回值。
在pos位置插入在[beg,end)區間的數據。無返回值。 c.max_size()  返回容器中最大數據的數量。 c.pop_back()  刪除最後一個數據。 c.pop_front()  刪除頭部數據。 c.push_back(elem)  在尾部加入一個數據。 c.push_front(elem)  在頭部插入一個數據。 c.rbegin()  傳回一個逆向隊列的第一個數據。 c.rend()  傳回一個逆向隊列的最後一個數據的下一個位置。 c.resize(num)  重新指定隊列的長度。 c.size()  返回容器中實際數據的個數。 C1.swap(c2) 
Swap(c1,c2) 將c1和c2元素互換。
同上操作。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved