#include<stdio.h>数组
#include<stdlib.h>函数
#define MAXSIZE 5指针
typedef int DataType;code
typedef struct{队列
DataType queue[MAXSIZE];//数据数组get
int rear;//尾指针it
int front;//头指针io
int count;//计数器queue
} Queue;数据
void initQueue(Queue *q);//初始化函数
int isEmpty(Queue q);//判非空
int insertRear(Queue *q,DataType x);//队尾插入函数
int deleteFront(Queue *q,DataType *x);//队头删除函数
int getFront(Queue q,DataType *x);//取对头元素
int main(void){ Queue q; int x; initQueue(&q); isEmpty(q); insertRear(&q,5); getFront(q,&x); printf("x=%d\n",x); deleteFront(&q,&x); printf("count=%d\n",q.count); return 0; }
void initQueue(Queue *q){ q->rear=0; q->front=0; q->count=0; }
int isEmpty(Queue q){ if(q.count==0){ printf("队列为空\n"); return 0; } printf("队列非空\n"); return 1; }
int insertRear(Queue *q,DataType x){ if(q->count==MAXSIZE){ printf("队列为满\n"); return 0; }
q->queue[q->rear]=x; q->rear=(q->rear + 1 )% MAXSIZE; q->count++; printf("插入成功\n"); return 1;
}
int deleteFront(Queue *q,DataType *x){ if(q->count==0){ printf("队列为空,无数可删\n"); return 0; } q->count--; q->front=(q->front+1)%MAXSIZE; printf("删除队列成功\n"); return 1; }
int getFront(Queue q,DataType *x){ if(q.count==0){ printf("队列为空,没法取\n"); return 0; } *x=q.queue[q.front]; printf("取数据成功\n"); return 1; }