C++ deque(STL) 用法與範例
deque
是 C++ 標準模板庫(STL)中的一種具有動態大小的序列容器(Sequence Container),與 queue
不同的是, deque 允許在其兩端快速插入和刪除元素,且支持通過隨機訪問迭代器直接訪問個別元素。
deque 提供了類似於 vector 的功能與介面,然而,與 vector不同的是,deque 不保證所有元素都存儲在連續的存儲位置中:通過偏移指向另一元素的指針來訪問 deque 中的元素可能會導致未定義行為。
初始化
創建一個空的 deque
#include <deque>
using namespace std;
deque<int> dq;
利用現有數組創建 deque
#include <deque>
#include <vector>
using namespace std;
vector<int> vec = {10, 20, 30};
deque<int> dq(vec.begin(), vec.end()); // {10, 20, 30}
取值
獲取前端元素:dq.front()
- Time Complexity: O(1)
deque<int> dq = {10, 20, 30};
cout << dq.front(); // 輸出 10
獲取後端元素:dq.back()
- Time Complexity: O(1)
deque<int> dq = {10, 20, 30};
cout << dq.back(); // 輸出 30
容量
檢查是否為空:dq.empty()
- Time Complexity: O(1)
deque<int> dq;
cout << dq.empty(); // true
dq.push_back(10);
cout << dq.empty(); // false