c语言循环队列pop和push函数
时间: 2023-09-02 21:07:37 浏览: 162
C语言循环队列
循环队列是一种基于数组实现的队列,它的队尾和队头是相连的,形成一个环,可以循环利用数组空间,从而提高队列的效率。循环队列常用的操作有push和pop。
push操作:将一个元素插入队尾,即将元素放在队列的rear位置。
pop操作:将队头元素弹出,即删除队列的front位置。
下面是一个简单的C语言循环队列实现,包括push和pop操作:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 10
int queue[MAX_SIZE];
int front = 0, rear = 0;
void push(int x) {
if ((rear + 1) % MAX_SIZE == front) {
printf("Queue Overflow\n");
return;
}
queue[rear] = x;
rear = (rear + 1) % MAX_SIZE;
}
int pop() {
if (front == rear) {
printf("Queue Underflow\n");
return -1;
}
int x = queue[front];
front = (front + 1) % MAX_SIZE;
return x;
}
int main() {
push(1);
push(2);
push(3);
printf("%d\n", pop()); // 输出1
printf("%d\n", pop()); // 输出2
push(4);
printf("%d\n", pop()); // 输出3
printf("%d\n", pop()); // 输出4
printf("%d\n", pop()); // 输出Queue Underflow
return 0;
}
```
在这个例子中,我们使用数组来实现循环队列。当队列满时进行push操作,会输出“Queue Overflow”,当队列为空时进行pop操作,会输出“Queue Underflow”。
阅读全文