双端队列(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
,可以方便地实现双端队列,并进行插入、删除等操作。