📅  最后修改于: 2023-12-03 14:59:46.384000             🧑  作者: Mango
在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)。