创建一个队列类,要求实现构造函数、判断队列是否为空、出队、入队等操作,通过数组来间接实现,使用using namespace std,用C++写一个完整代码
时间: 2024-11-18 18:16:06 浏览: 24
当然可以。下面是一个简单的C++队列类(deque)实现,它包含了构造函数、空判断、出队(pop_front)、入队(push_back)等基本操作:
```cpp
#include <iostream>
#include <deque> // 使用C++标准库中的deque作为队列容器
class Queue {
public:
// 构造函数,初始化一个空队列
Queue() : data(std::deque<int>()) {}
// 判断队列是否为空
bool isEmpty() const {
return data.empty();
}
// 出队(删除并返回队首元素)
int dequeue() {
if (isEmpty()) {
throw std::runtime_error("Queue is empty");
}
return data.front(); // 返回队首元素
}
// 入队,将元素添加到队尾
void enqueue(int value) {
data.push_back(value);
}
private:
std::deque<int> data; // 队列数据存储
};
int main() {
using namespace std;
Queue q;
cout << "Is queue empty? " << (q.isEmpty() ? "Yes" : "No") << endl;
try {
q.enqueue(5);
q.enqueue(10);
cout << "Enqueue: " << q.dequeue() << ", " << q.dequeue() << endl;
} catch (const std::exception& e) {
cerr << "Error: " << e.what() << endl;
}
return 0;
}
```
在这个例子中,我们使用`std::deque`作为底层容器,因为它提供高效的插入和删除操作。队列类内部维护了一个`deque`实例,并实现了相应的公共操作。
阅读全文