C++标准库中提供了 std::deque(双端队列)容器,它是一种动态数组,支持在队列的两端进行快速插入和删除操作。下面是一个简单的示例演示如何使用 std::deque:
#include <iostream>
#include <deque>
int main() {
// 创建一个双端队列
std::deque<int> myDeque;
// 在队尾插入元素
myDeque.push_back(1);
myDeque.push_back(2);
myDeque.push_back(3);
// 在队头插入元素
myDeque.push_front(0);
// 打印队列中的元素
std::cout << "Deque elements: ";
for (auto num : myDeque) {
std::cout << num << " ";
}
std::cout << std::endl;
// 移除队头和队尾元素
myDeque.pop_front();
myDeque.pop_back();
// 再次打印队列中的元素
std::cout << "Deque elements after popping: ";
for (auto num : myDeque) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
在这个示例中,我们首先创建了一个 std::deque<int> 类型的双端队列 myDeque。然后,使用 push_back() 在队尾插入元素 1、2 和 3,使用 push_front() 在队头插入元素 0。之后,打印队列中的所有元素,并使用 pop_front() 和 pop_back() 移除队头和队尾的元素。最后,再次打印队列中的所有元素。
std::deque 提供了丰富的操作接口,可以快速进行双端队列的操作,包括插入、删除、查找等。