写一个C++的双端队列算法的程序
时间: 2024-03-24 14:38:47 浏览: 59
以下是一个简单的C++双端队列算法程序:
```cpp
#include <iostream>
#include <deque>
using namespace std;
int main()
{
deque<int> dq; // 创建一个双端队列
// 将元素插入队列的前端
dq.push_front(10);
dq.push_front(20);
dq.push_front(30);
// 将元素插入队列的后端
dq.push_back(40);
dq.push_back(50);
dq.push_back(60);
// 输出队列的元素
cout << "队列的元素为:";
for (auto i : dq)
cout << i << " ";
cout << endl;
// 访问队列的第一个元素和最后一个元素
cout << "队列的第一个元素为:" << dq.front() << endl;
cout << "队列的最后一个元素为:" << dq.back() << endl;
// 弹出队列的第一个元素和最后一个元素
dq.pop_front();
dq.pop_back();
cout << "弹出队列的第一个元素和最后一个元素后,队列的元素为:";
for (auto i : dq)
cout << i << " ";
cout << endl;
// 清空队列
dq.clear();
cout << "清空队列后,队列的元素为:" << dq.size() << endl;
return 0;
}
```
这个程序中使用了C++ STL库中的deque容器,通过push_front()和push_back()函数向队列中添加元素,使用front()和back()函数访问队列的第一个元素和最后一个元素,使用pop_front()和pop_back()函数弹出队列的第一个元素和最后一个元素,使用clear()函数清空队列。
阅读全文