雙端隊列(deque,雙向隊列)是一種具有隊列和棧兩種功能的數據結構,可以在隊列的兩端進行插入和刪除操作。在C++中,可以使用標準庫中的std::deque
來實現雙端隊列。
下面是一個簡單的示例代碼,演示如何使用std::deque
實現雙端隊列:
#include <iostream>
#include <deque>
int main() {
// 創建一個空的雙端隊列
std::deque<int> dq;
// 在隊列的尾部插入元素
dq.push_back(1);
dq.push_back(2);
dq.push_back(3);
// 在隊列的頭部插入元素
dq.push_front(0);
// 遍歷并打印隊列中的元素
for (int i : dq) {
std::cout << i << " ";
}
std::cout << std::endl;
// 從隊列的頭部刪除元素
dq.pop_front();
// 從隊列的尾部刪除元素
dq.pop_back();
// 再次遍歷并打印隊列中的元素
for (int i : dq) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
上面的示例代碼首先創建了一個空的雙端隊列std::deque<int> dq
,然后在隊列的尾部和頭部插入元素,并打印隊列中的元素。接著從隊列的頭部和尾部刪除元素,并再次打印隊列中的元素。
通過使用std::deque
,可以方便地實現雙端隊列,并進行插入、刪除等操作。