温馨提示×

c++双端队列怎么实现

c++
小亿
100
2024-04-28 17:05:45
栏目: 编程语言

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

0