首页 > 学院 > 开发设计 > 正文

循环队列

2019-11-10 18:34:56
字体:
来源:转载
供稿:网友
#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;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表