#include <stdio.h>#include <malloc.h>//循环队列 #define MAXSIZE 10typedef int sElemType;typedef struct queue{ sElemType data[MAXSIZE]; int front; int rear;}queue; void init_queue(queue* q) { q->front = 0; q->rear = 0;} void in_queue(queue* q, sElemType e) { if ((q->rear + 1) % MAXSIZE == q->front) { return;//队列已满 } q->data[q->rear] = e; q->rear = (q->rear + 1) % MAXSIZE;}void out_queue(queue* q, sElemType* e) { if (q->front == q->rear) { return; //队列为空 } *e = q->data[q->front]; q->front = (q->front + 1) % MAXSIZE;}int main() { queue* q = (queue*)malloc(sizeof(queue)); init_queue(q); for (int i = 0; i < MAXSIZE; i++) { in_queue(q, i); } sElemType e; for (int i = 0; i < MAXSIZE - 1; i++) { out_queue(q, &e); PRintf("%d ", e); } return 0;}
新闻热点
疑难解答