循环栈队列

来源:互联网 发布:php cgi not found 编辑:程序博客网 时间:2024/06/10 23:34
定义一个循环队列#define MAXSIZE 100typedef struct{ElemType* base;//用于存放内存分配基地址int front;//出栈索引int rear;//入栈索引}cycleQueue;初始化一个循环队列initQueue(cycleQueue* q){q->base=(ElemType*)malloc(MAXSIZE* sizeof(ElemType));//分配一个数组if(!q->base)exit(0);//分配内存失败q->front=q->rear=0;}入队列操作InsertQueue(cycleQueue* q,ElemType e){if((q->rear) % MAXSIZE==q->front)return ;//队列已满q->base[q->rear]=e;q->rear=(q-->rear+1)%MAXSIZE;}DeleteQueue(cycleQueue* q,ElemType *e){if(q->front==q->rear)return;//队列为空*e=q->base[q->front];q->front=(q-front+1)%MAXSIZE;}

0 0