c++双端队列怎么实现

avatar
作者
筋斗云
阅读量:2

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!