使用c语言实现循环队列的打印
时间: 2023-12-16 08:35:09 浏览: 37
下面是使用C语言实现循环队列的打印的示例代码:
```c
#include <stdio.h>
#define MAX_SIZE 10
typedef struct {
int data[MAX_SIZE];
int front;
int rear;
} Queue;
void initQueue(Queue *queue) {
queue->front = 0;
queue->rear = 0;
}
int isFull(Queue *queue) {
return (queue->rear + 1) % MAX_SIZE == queue->front;
}
int isEmpty(Queue *queue) {
return queue->front == queue->rear;
}
void enqueue(Queue *queue, int value) {
if (isFull(queue)) {
printf("Queue is full. Cannot enqueue.\n");
return;
}
queue->data[queue->rear] = value;
queue->rear = (queue->rear + 1) % MAX_SIZE;
}
void dequeue(Queue *queue) {
if (isEmpty(queue)) {
printf("Queue is empty. Cannot dequeue.\n");
return;
}
queue->front = (queue->front + 1) % MAX_SIZE;
}
void printQueue(Queue *queue) {
if (isEmpty(queue)) {
printf("Queue is empty.\n");
return;
}
int current = queue->front;
while (current != queue->rear) {
printf("%d ", queue->data[current]);
current = (current + 1) % MAX_SIZE;
}
printf("\n");
}
int main() {
Queue queue;
initQueue(&queue);
enqueue(&queue, 1);
enqueue(&queue, 2);
enqueue(&queue, 3);
printQueue(&queue);
dequeue(&queue);
printQueue(&queue);
return 0;
}
```
这个示例代码实现了一个循环队列,并提供了初始化队列、判断队列是否满、判断队列是否空、入队、出队和打印队列的功能。你可以根据需要进行修改和扩展。在 `main` 函数中,我们演示了入队、打印队列和出队的操作。