C 之路起航 標準模板庫(deque)

2022-08-16 03:42:11 字數 1328 閱讀 1229

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容器的迭代器也是支援隨機訪問的...