用cpp代码写出输入1-10的数字组成普通线性队列
时间: 2024-11-22 20:44:25 浏览: 12
在 C++ 中,我们可以使用数组来实现一个简单的普通线性队列。这个队列可以存储整数,并允许在队首添加(入队)和队尾删除(出队)。这里是一个基本的例子:
```cpp
#include <iostream>
class LinearQueue {
private:
int capacity; // 队列容量
int front; // 队首元素索引
int rear; // 队尾元素索引
int* queue; // 存储队列数据的数组
public:
LinearQueue(int size) : capacity(size), front(0), rear(0), queue(new int[capacity]) {}
// 插入元素到队尾
void enqueue(int value) {
if ((rear + 1) % capacity == front) { // 队满处理
std::cout << "Queue is full.\n";
return;
}
rear = (rear + 1) % capacity; // 保持循环数组性质
queue[rear] = value;
std::cout << "Enqueue: " << value << "\n";
}
// 删除并返回队首元素
int dequeue() {
if (front == rear) { // 队空处理
std::cout << "Queue is empty.\n";
return -1; // 返回默认值或抛异常
}
int value = queue[front]; // 保存队首元素
front = (front + 1) % capacity; // 更新队首索引
return value;
}
~LinearQueue() {
delete[] queue;
}
};
int main() {
LinearQueue queue(10); // 创建一个容量为10的队列
for (int i = 1; i <= 10; ++i) {
queue.enqueue(i);
}
while (!queue.isEmpty()) { // 假设有一个isEmpty()方法检查队列是否为空
int dequeuedValue = queue.dequeue();
std::cout << "Dequeue: " << dequeuedValue << "\n";
}
return 0;
}
```
在这个例子中,我们创建了一个 `enqueue` 和 `dequeue` 函数来操作队列。队列满了或者空了的时候会有一些相应的提示。注意,这只是一个基础实现,实际项目中你可能需要考虑更多的边界条件和错误处理。
阅读全文