deque(雙端佇列):
需要包括標頭檔案;
定義:deque《資料型別》 變數名;
eg:dequeque;//定義了乙個整型的雙端佇列;
基本操作(紅色標識為常用操作):
que.assign(beg,end) 將[beg; end)區間中的資料賦值給que。
que.assign(n,elem) 將n個elem的拷貝賦值給que。
que. at(idx) 傳回索引idx所指的資料,如果idx越界,丟擲out_of_range。
que.back() 返回容器que的最後乙個元素的引用。如果que為空,則該操作未定義。
que.begin() 傳回迭代器中的第乙個資料位址。
que.clear() 移除容器中所有資料。
que.empty() 判斷容器是否為空。
que.end() 返回乙個迭代器,它指向容器que的最後乙個元素的下一位置。
que.erase(pos) 刪除pos位置的資料,傳回下乙個資料的位置。
que.erase(beg,end) 刪除[beg,end)區間的資料,傳回下乙個資料的位置。
que.front() 返回容器que的第乙個元素的引用。如果que為空,則該操作為空。
que.insert(pos,elem) 在pos位置插入乙個elem拷貝,傳回新資料位置
que.insert(pos,n,elem) 在pos(迭代器)位置插入》n個elem資料。無返回值
que.insert(pos,beg,end) 在pos位置插入在[beg,end)區間的資料。無返回值
que.max_size() 返回容器que可容納的最多元素個數。
que.pop_back() 刪除最後乙個資料。
que.pop_front() 刪除頭部資料。
que.push_back(elem) 在尾部加入乙個資料。
que.push_front(elem) 在頭部插入乙個資料。
que.rbegin() 返回乙個逆序迭代器,它指向容器que的最後乙個元素。
que.rend() 返回乙個逆序迭代器,它指向容器que的第乙個元素的前乙個位置。
que.resize(num) 重新指定佇列的長度。
que.size() 返回容器中實際資料的個數。
que.swap(que2) 交換容器que和que2中的所有元素。
swap(que1,que2) 交換容器que1和que2中的所有元素。
**解釋:
#include
#include
#include
using namespace std;
int main()
C 之路起航 標準模板庫(queue)
queue fifo佇列 先進先出佇列。優先佇列 對佇列中的元素按優先順序的大小輸出。定義 fifo佇列 queue 資料類性 變數名。優先佇列 priority queue 資料型別 變數名。eg fifo佇列 queueque 定義了乙個名為que的整型的先進先出佇列。優先佇列 priority...
C 之路起航 標準模板庫(vector)
vector 動態陣列或向量 動態分配記憶體空間的線性儲存結構。需要包括標頭檔案 定義 vector 資料型別 變數名 eg vectors 定義了乙個資料型別為整形的動態陣列 基本操作 紅色標識為常用操作 s i 直接以下標方式訪問容器中的元素。s.front 返回首元素。s.back 返回尾元素...
C STL標準模板庫 deque
deque是雙端陣列,可以對頭端和尾端進行插入和刪除操作 deque和vector的區別 deque的內部原理 deque內部有個中控器,維護每段緩衝區中的內容,緩衝區中存放真實資料 中控器維護的是每個緩衝區的位址,使得使用deque時像一片連續的記憶體空間 deque容器的迭代器也是支援隨機訪問的...