使用c++编写程序,编写一个名为xunhuandui.cpp的程序,实现队列的各种基本运算(假设队列的元素类型为int),并在此基础上设计一个主程序,完成如下功能: (1).初始化队列Q (2).依次入队创建循环队列 (3).访问队头和队尾元素 (4).依次出队并输出
时间: 2024-11-20 14:36:28 浏览: 23
在C++中,我们可以使用`std::queue`容器来实现队列的基本操作。首先,你需要包含必要的库文件,并定义一个队列模板类。这里是一个简单的实现:
```cpp
#include <iostream>
#include <queue>
template <typename T>
class Queue {
private:
std::queue<T> q;
public:
// 初始化队列
void initialize() {
q = {};
}
// 入队操作
void enqueue(T value) {
q.push(value);
std::cout << "Enqueued: " << value << std::endl;
}
// 访问队头元素
T front() {
if (q.empty()) {
std::cerr << "Queue is empty!" << std::endl;
return T();
}
return q.front();
}
// 出队操作
void dequeue() {
if (q.empty()) {
std::cerr << "Queue is empty!" << std::endl;
return;
}
T value = q.front();
q.pop();
std::cout << "Dequeued: " << value << std::endl;
}
// 队列是否为空
bool isEmpty() const {
return q.empty();
}
};
int main() {
// 创建队列实例
Queue<int> queue;
// 初始化队列
queue.initialize();
// 循环入队
for (int i = 0; i < 5; ++i) {
queue.enqueue(i);
}
// 访问队头和队尾元素
std::cout << "Front element: " << queue.front() << std::endl;
std::cout << "Is the queue empty? " << (queue.isEmpty() ? "Yes" : "No") << std::endl;
// 出队并打印
queue.dequeue();
return 0;
}
```
这个程序首先初始化了一个空的整数队列,然后通过循环入队5个元素。接着它会显示队头的元素,检查队列是否为空,并从队列头部出队并打印出队首元素。
阅读全文