#include<stdio.h>
#include<malloc.h>
typedef struct Queue {
int* pBase;
int front;
int rear;
}QUEUE;
bool full_queue(QUEUE* q) {
if ((q->rear + 1) % 6 == q->front) {
return true;
}
else {
return false;
}
}
void en_queue(QUEUE* q, int data) {
q->pBase[q->rear] = data;
q->rear = (q->rear++) % 6;
}
void delete_queue(QUEUE* q) {
q->pBase[q->front] = NULL;
q->front++;
}
void traverse_queue(QUEUE* q) {
printf("当前队列元素为:");
int j = q->front;
while (j != q->rear) {
printf("%d ", q->pBase[j]);
j = (j++) % 6;
}
printf("\n");
}
int main() {
QUEUE* Q = (QUEUE*)malloc(sizeof(QUEUE));
Q->pBase = (int*)malloc(6 * sizeof(int));
Q->front = 0;
Q->rear = 0;
en_queue(Q, 1);
en_queue(Q, 2);
en_queue(Q, 3);
traverse_queue(Q);
delete_queue(Q);
traverse_queue(Q);
return 0;
}
简单的循环队列(C语言)
最新推荐文章于 2023-10-27 16:19:46 发布