c++队列的顺序存储实现代码
时间: 2023-11-05 21:15:38 浏览: 92
队列的顺序存储与实现
以下是C++队列顺序存储的实现代码:
```cpp
#define MAXSIZE 100 // 队列最大容量
template <typename T>
class Queue {
private:
T data[MAXSIZE]; // 存储队列元素的数组
int front; // 队头指针
int rear; // 队尾指针
public:
Queue() {
front = rear = 0; // 初始化队头、队尾指针
}
~Queue() {}
bool isEmpty() const {
return front == rear;
}
bool isFull() const {
return (rear + 1) % MAXSIZE == front;
}
bool EnQueue(const T& item) {
if (isFull()) {
return false;
}
data[rear] = item; // 将元素存入队尾
rear = (rear + 1) % MAXSIZE; // 队尾指针后移
return true;
}
bool DeQueue(T& item) {
if (isEmpty()) {
return false;
}
item = data[front]; // 取出队头元素
front = (front + 1) % MAXSIZE; // 队头指针后移
return true;
}
};
```
使用方法:
```cpp
Queue<int> q; // 定义一个存储int类型的队列
int item;
q.EnQueue(1); // 入队
q.EnQueue(2);
q.EnQueue(3);
while (!q.isEmpty()) { // 循环出队
q.DeQueue(item);
cout << item << " ";
}
```
输出结果为:
```
1 2 3
```
阅读全文