deque(双端队列)是C++标准模板库(STL)中的一种容器,它是一种动态数组,可以在两端进行快速插入和删除操作。下面是使用deque容器的详细代码示例:
#include <iostream>
#include <deque>
int main() {
// 创建一个空的deque容器
std::deque<int> myDeque;
// 在尾部插入元素
myDeque.push_back(1);
myDeque.push_back(2);
myDeque.push_back(3);
// 在头部插入元素
myDeque.push_front(0);
// 获取deque的大小
std::cout << "Size of the deque: " << myDeque.size() << std::endl;
// 遍历输出deque中的元素
std::cout << "Elements in the deque: ";
for (int i : myDeque) {
std::cout << i << " ";
}
std::cout << std::endl;
// 访问deque中的元素
std::cout << "First element: " << myDeque.front() << std::endl;
std::cout << "Last element: " << myDeque.back() << std::endl;
// 在头部删除元素
myDeque.pop_front();
// 在尾部删除元素
myDeque.pop_back();
// 遍历输出deque中的元素
std::cout << "Elements in the deque after deletion: ";
for (int i : myDeque) {
std::cout << i << " ";
}
std::cout << std::endl;
// 清空deque中的元素
myDeque.clear();
// 检查deque是否为空
if (myDeque.empty()) {
std::cout << "Deque is empty." << std::endl;
} else {
std::cout << "Deque is not empty." << std::endl;
}
return 0;
}
这段代码演示了deque的基本操作,包括插入、删除、访问和遍历元素等。运行结果如下:
Size of the deque: 4
Elements in the deque: 0 1 2 3
First element: 0
Last element: 3
Elements in the deque after deletion: 1 2
Deque is empty.
从输出结果可以看出,我们成功地在deque的头部和尾部插入和删除了元素,并且可以通过front()和back()函数访问deque的首尾元素。最后,我们使用empty()函数检查deque是否为空,并使用clear()函数清空了deque中的所有元素。