循环队列与普通队列

2022-08-24 08:27:37
普通队列
#include"stdio.h"#include"stdlib.h"#include"string.h"#define MAXSIZE 20//普通队列typedefstruct{int data[MAXSIZE];int front;//队头int rear;//队尾}Queue;//入队intenQueue(Queue* q,int e){if(q->rear>=MAXSIZE&& q->front<=q->rear){printf("\n满\n");return0;}
	q->data[q->rear]= e;
	q->rear++;return1;}//出队intdeQueue(Queue* q){int t;if(q->front== q->rear){printf("\n空\n");return0;}
	t= q->data[q->front];printf("%d  ",t);
	q->front++;return1;}//遍历voidprint_queue(Queue* q){for(int i=q->front; i<q->rear; i++){printf("%d   ",q->data[i]);}printf("\n");}intmain(){
	
	Queue q;
	q.front= q.rear=0;for(int i=1; i<=6; i++){enQueue(&q,i);}for(int i=1; i<=7; i++){//空了之后,头和尾相等deQueue(&q);}return0;}
循环队列
#include"stdio.h"#include"stdlib.h"#include"string.h"#define MAXSIZE 20//循环队列typedefstruct{int data[MAXSIZE];int front;int rear;}Queue;//入队intenQueue(Queue* q,int e){//牺牲掉一个空间来表示队满if((q->rear+1)%MAXSIZE== q->front){return0;} 
	q->data[q->rear]= e;
	q->rear=(q->rear+1)%MAXSIZE;return1;}//出队intdeQueue(Queue* q){//判断空if(q->front== q->rear){printf("\n空\n");return0;}int t= q->data[q->front];printf("%d  ",t);
	q->front=(q->front+1)%MAXSIZE;return1;}intmain(){
	Queue q;
	q.front= q.rear=0;for(int i=1; i<=6; i++){enQueue(&q,i);}for(int i=1; i<=6; i++){deQueue(&q);}return0;}
  • 作者:
  • 原文链接:https://wangguisen.blog.csdn.net/article/details/103468422
    更新时间:2022-08-24 08:27:37