帮我用c++生成一个双端队列的类
时间: 2024-10-08 11:01:02 浏览: 16
在C++中,你可以通过STL库中的`std::deque`(双端队列)来创建一个简单的双端队列类。`deque`允许你在两端添加或删除元素,这使得它非常适合于需要频繁在队列的开头和结尾操作的情况。下面是一个基础的双端队列类的示例:
```cpp
#include <deque>
#include <iostream>
class DoublyQueue {
public:
// 构造函数
DoublyQueue() : data_() {}
// 插入元素到队尾
void push_back(int value) {
data_.push_back(value);
}
// 从队尾移除并返回元素
int pop_back() {
if (data_.empty()) {
throw std::runtime_error("Queue is empty");
}
return data_.back();
}
// 向队首插入元素
void push_front(int value) {
data_.push_front(value);
}
// 从队首移除并返回元素
int pop_front() {
if (data_.empty()) {
throw std::runtime_error("Queue is empty");
}
return data_.front();
}
// 返回队列大小
size_t size() const {
return data_.size();
}
private:
std::deque<int> data_; // 存储数据的容器
};
int main() {
DoublyQueue dq;
dq.push_back(1);
dq.push_front(0);
std::cout << "Front: " << dq.pop_front() << ", Back: " << dq.pop_back() << "\n";
return 0;
}
```
阅读全文