用数据结构与算法的知识,用C++写代码满足:实现队列的基本操作,主要包括队列的创建、入队和出队等基本操作。
时间: 2024-11-30 13:23:15 浏览: 8
数据结构各种算法实现(C++模板)链表 栈 队的各种操作 图树
4星 · 用户满意度95%
在C++中,我们可以使用内置的数据结构`std::queue`来实现队列的基本操作。这里是一个简单的示例,展示了如何创建队列并执行入队(enqueue)、出队(dequeue)操作:
```cpp
#include <iostream>
#include <queue> // 引入标准库中的queue
// 队列模板,使用int作为元素类型
template <typename T>
class MyQueue {
private:
std::queue<T> q;
public:
// 创建空队列
MyQueue() {}
// 入队操作 - 添加元素到队尾
void enqueue(T item) {
q.push(item);
std::cout << "Enqueued: " << item << std::endl;
}
// 出队操作 - 删除队首元素并返回它
T dequeue() {
if (q.empty()) {
std::cerr << "Error: Queue is empty." << std::endl;
return T(); // 返回默认值或抛异常
}
T item = q.front();
q.pop();
std::cout << "Dequeued: " << item << std::endl;
return item;
}
// 查看当前队列是否为空
bool isEmpty() const {
return q.empty();
}
};
int main() {
MyQueue<int> queue;
queue.enqueue(10);
queue.enqueue(20);
queue.dequeue(); // 应该打印出 "Dequeued: 10"
if (!queue.isEmpty()) {
std::cout << "Queue size: " << queue.size() << std::endl; // 输出队列大小
}
return 0;
}
```
在这个例子中,我们定义了一个模板类`MyQueue`,它使用了C++标准库的`std::queue`。`enqueue`方法用于添加元素,`dequeue`方法用于移除元素。`isEmpty`方法检查队列是否为空。
阅读全文