deque(双端队列)是STL中的一个容器,它可以在两端进行元素的插入和删除操作,类似于vector,但相比之下deque的插入和删除操作在两端都具有更高的效率。
使用deque容器的步骤如下:
- 包含头文件
#include <deque>
- 创建deque对象
std::deque<int> myDeque;
- 在队列的前后插入元素
myDeque.push_back(10); // 在队列后面插入元素 myDeque.push_front(5); // 在队列前面插入元素
- 访问队列中的元素
int frontElement = myDeque.front(); // 获取队列的第一个元素(最前面的元素) int backElement = myDeque.back(); // 获取队列的最后一个元素(最后面的元素)
- 删除队列中的元素
myDeque.pop_back(); // 删除队列中的最后一个元素 myDeque.pop_front(); // 删除队列中的第一个元素
- 获取队列的大小
int size = myDeque.size();
- 遍历队列中的元素
for (std::deque<int>::iterator it = myDeque.begin(); it != myDeque.end(); ++it) { // 使用*it访问当前元素的值 }
完整的示例代码如下:
#include <iostream>
#include <deque>
int main() {
std::deque<int> myDeque;
myDeque.push_back(10);
myDeque.push_front(5);
int frontElement = myDeque.front();
int backElement = myDeque.back();
std::cout << "Front element: " << frontElement << std::endl;
std::cout << "Back element: " << backElement << std::endl;
myDeque.pop_back();
myDeque.pop_front();
std::cout << "Size of deque: " << myDeque.size() << std::endl;
myDeque.push_back(20);
myDeque.push_back(30);
for (std::deque<int>::iterator it = myDeque.begin(); it != myDeque.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
以上代码演示了如何使用deque容器,插入和删除元素,访问元素以及遍历元素。你可以在实际的应用中根据需要使用deque容器的其他功能和特性。