用codeblocks编写2.编写算法实现下列问题的求解 (1)初始化空循环队列 (2)当键盘输入奇数时,此奇数入队。 (3)当键盘输入偶数时,队头出队。 (4)每当键盘输入后,输出当前队列中的所有元素。 (5)当键盘输入0时,算法退出。
时间: 2024-12-20 12:24:59 浏览: 3
为了使用Code::Blocks编写这个算法,我们将使用C++语言。首先,确保您已经在Code::Blocks环境中安装了C++支持。以下是一个简单的程序实现:
```cpp
#include <iostream>
#include <queue>
// 创建一个队列模板
template <typename T>
class Queue {
public:
void enqueue(T item) {
elements.push(item);
}
T dequeue() {
if (elements.empty()) return T();
return elements.front(); // 如果非空则取出并删除队首元素
}
bool empty() const {
return elements.empty();
}
private:
std::queue<T> elements;
};
int main() {
Queue<int> queue;
int input;
while (true) {
std::cout << "请输入数字(0退出): ";
std::cin >> input;
if (input == 0)
break; // 输入0时退出循环
if (input % 2 != 0) { // 输入的是奇数
queue.enqueue(input);
std::cout << "奇数已入队: " << input << std::endl;
} else { // 输入的是偶数
if (!queue.empty()) {
int dequeued = queue.dequeue();
std::cout << "偶数已出队: " << dequeued << std::endl;
}
}
if (!queue.empty())
std::cout << "当前队列: ";
while (!queue.empty()) {
std::cout << queue.dequeue() << " ";
}
std::cout << std::endl;
}
return 0;
}
```
在这个程序中,我们定义了一个队列`Queue<int>`,用于存储整数。通过`enqueue`和`dequeue`函数实现队列的操作。用户输入奇数时入队,偶数时出队,并在每个阶段显示队列的内容。
阅读全文