📜  C++ STL中的deque :: pop_front()和deque :: pop_back()(1)

📅  最后修改于: 2023-12-03 14:59:46.384000             🧑  作者: Mango

介绍STL的deque::pop_front()和deque::pop_back()

简介

在C++ STL中,deque(双端队列)是一种双向开口的连续线性空间,它类似于vector(动态数组),但是不同的是,deque在两端都可以进行插入和删除操作。

deque::pop_front()和deque::pop_back()都是用来删除队列中元素的函数,pop_front()用来删除队首元素,pop_back()用来删除队尾元素。

语法

deque::pop_front():

void pop_front();

deque::pop_back():

void pop_back();

以上两个函数都没有返回值,只是操作队列中的元素。

示例

下面给出一个简单的示例来说明如何使用deque::pop_front()和deque::pop_back()。

#include <iostream>
#include <deque>

using namespace std;

int main() {
    deque<int> mydeque;
    mydeque.push_back(1);
    mydeque.push_back(2);
    mydeque.push_back(3);

    cout << "队列中的元素为:";
    for (auto it = mydeque.begin(); it != mydeque.end(); ++it) {
        cout << *it << " ";
    }

    mydeque.pop_front();
    cout << endl << "执行pop_front()后,队列中的元素为:";
    for (auto it = mydeque.begin(); it != mydeque.end(); ++it) {
        cout << *it << " ";
    }

    mydeque.pop_back();
    cout << endl << "执行pop_back()后,队列中的元素为:";
    for (auto it = mydeque.begin(); it != mydeque.end(); ++it) {
        cout << *it << " ";
    }

    return 0;
}

输出结果为:

队列中的元素为:1 2 3 
执行pop_front()后,队列中的元素为:2 3 
执行pop_back()后,队列中的元素为:2 

可以看到,先使用pop_front()删除了队列中的第一个元素(即1),再使用pop_back()删除了队列中的最后一个元素(即3)。

注意事项
  • 在使用pop_front()和pop_back()之前需要先判断队列是否为空,否则会引起错误。
  • 使用pop_front()和pop_back()删除元素时,队列的长度会相应减少。