循环队列入队出队用c语言写出
时间: 2024-03-13 12:38:32 浏览: 26
循环队列是一种特殊的队列,它可以在固定大小的数组中实现队列的基本操作。循环队列的入队和出队操作需要使用到队头和队尾指针,这两个指针都是循环的,当指针到达数组的末尾时,它会回到数组的开头。下面是循环队列的入队和出队操作的C语言代码实现:
入队操作:
rear = (rear + 1) % m; // m为数组大小
a[rear] = x; // x为要入队的元素值
出队操作:
front = (front + 1) % m;
x = a[front]; // x为出队的元素值
其中,rear和front分别为队尾和队头指针,a为存储队列元素的数组,x为要入队或出队的元素值。
下面是一个完整的循环队列的C语言代码实现:
```
#include <stdio.h>
#define maxsize 20
int main() {
int m, n, a[maxsize];
scanf("%d", &m);
scanf("%d", &n);
int i, j, front = 0, rear = 0;
char b;
for (i = 0; i < n; i++) {
scanf("%d", &j);
getchar();
if (j == 1) {
scanf("%c", &b);
rear = (rear + 1) % m;
a[rear] = b;
printf("%d %d\n", front, rear);
} else {
front = (front + 1) % m;
printf("%d %d\n", front, rear);
}
}
while (front != rear) {
front = (front + 1) % m;
printf("%c", a[front]);
}
return 0;
}
```
其中,m为数组大小,n为操作次数,j为操作类型(1为入队,2为出队),b为要入队的元素值。在代码中,我们使用了循环队列的入队和出队操作,并输出了每次操作后的队头和队尾指针。最后,我们使用循环队列的出队操作输出了队列中的所有元素。