编写一个c++程序:1.将字母‘A'~‘G’依次进入环形队列,从队头到队尾显示队列内容;2. 出队2次,从队头到队尾显示队列内容:
时间: 2024-03-18 17:40:43 浏览: 79
以下是实现上述功能的C++程序:
```c++
#include <iostream>
using namespace std;
const int MAXSIZE = 7; // 队列最大容量
class CircularQueue {
private:
char data[MAXSIZE]; // 队列数组
int front; // 队头
int rear; // 队尾
public:
CircularQueue() { // 构造函数
front = rear = 0;
}
bool isEmpty() { // 判断队列是否为空
return front == rear;
}
bool isFull() { // 判断队列是否已满
return (rear + 1) % MAXSIZE == front;
}
bool enqueue(char ch) { // 入队
if (isFull()) {
return false;
} else {
data[rear] = ch;
rear = (rear + 1) % MAXSIZE;
return true;
}
}
bool dequeue() { // 出队
if (isEmpty()) {
return false;
} else {
front = (front + 1) % MAXSIZE;
return true;
}
}
void display() { // 显示队列内容
if (isEmpty()) {
cout << "Queue is empty." << endl;
} else {
cout << "Queue content: ";
int i = front;
while (i != rear) {
cout << data[i] << " ";
i = (i + 1) % MAXSIZE;
}
cout << endl;
}
}
};
int main() {
CircularQueue queue;
// 将字母‘A'~‘G’依次入队
for (char ch = 'A'; ch <= 'G'; ch++) {
queue.enqueue(ch);
}
queue.display();
// 出队2次
queue.dequeue();
queue.dequeue();
queue.display();
return 0;
}
```
程序的运行结果如下:
```
Queue content: A B C D E F G
Queue content: C D E F G
```
阅读全文