(1)初始化循环队列 1//初始化循环队列2voidInitQueue(sqQueue *q){3q->front=0;4q->rear=0;5q->data[0]=0;6} (2)求循环队列的长度及判断为满 1//求循环队列的长度2intQueuelength(sqQueue *q){3return(q->rear-q->front+MAXSIZE)%MAXSIZE;4}5//判断循环队列是否已满6boolIsfull(sqQueue *q)...
Status InitQueue(SqQueue &Q) {//构建一个空队列 Q.base = new QElemType[MAXQSIZE]; if( Q.base = NULL)//存储分配失败 exit(OVERFLOW) ; Q.front = Q.rear = 0;//头尾指针置为零,队列为空 return OK; } 2、求循环队列长度 int QueueLength(Squeue Q) { return (Q.rear - Q.front + MAX...
//3.1 返回循环队列的长度 cout<<"此时队列的长度为:"<<QueueLength(Q)<<endl<<endl; //4. 出队 DeQueue(Q); //4.1 返回循环队列的长度 cout<<"此时队列的长度为:"<<QueueLength(Q)<<endl<<endl; return 0; } //1. 初始化循环队列函数 void InitQueue(SqQueue &Q){ Q.base = (QElemType*)ma...
int len; len = (Q->rear - Q->front + MAXQSIZE) % MAXQSIZE; //求元素个数,即队列长度 printf("长度为:%d\n", len); return 0; } int EnQueue(SqQueue *q, int e) { if ((q->rear + 1) % MAXQSIZE == q->front) //尾指针在循环意义上加1后等于头指针,表明队满 { printf("队...
循环队列的基本操作 1. 初始化 Status initQueue (SqQueue *Q) { Q.base=(QElemType *) malloc(MAXQSIZE * sizeof(QElemType)); if (!Q.base) exit(OVERFLOW); Q.front = Q.rear = 0; return OK; } 2. 求队列长度 int queueLength(SqQueue *Q) { return (Q.rear - Q.front+MAXQSIZE) % ...
#include"xunhuanduilie.h"//常用的循环队列StatusInitQueue(SqQueue*Q)//初始化{Q->base=(QElemType*)malloc(sizeof(QElemType)*MAXSIZE);if(Q->base==NULL)returnOVERFLOW;Q->front=Q->rear=0;//将头指针和尾指针置为0,队列为空returnOK;}intQueueLength(SqQueueQ)//求队列长度{return(Q.rear-Q.fron...
答: ( (rear + 1) % 数组长度 ) == front 6. 如何打印队列? 答: 将front赋值给i, 通过i进行打印,但是在循环的时候记得是 . while( i != Q->rear )而不是rear -1; . 然后i = (i+1)%数组长度 算法精髓: 数组指针到头了之后,指向头的指针应该指回到 i=0 中 ...
队空时: Q.front == Q.rear;队满时: Q.front == (Q.rear + 1) % MAXSIZE;front指向队首元素,rear指向队尾元素的下一个元素。maxsize是队列长度。
MyCircularQueue(k): 构造器,设置队列长度为 k 。 Front: 从队首获取元素。如果队列为空,返回 -1 。 Rear: 获取队尾元素。如果队列为空,返回 -1 。 enQueue(value): 向循环队列插入一个元素。如果成功插入则返回真。 deQueue(): 从循环队列中删除一个元素。如果成功删除则返回真。
(int)); p->front = p->rear = 0; //头指针和尾指针0,队列为空 } //判断队列是否为空 int EmptyQueue(SqQueue *p) { //若为空队列 则返回OK,否则返回ERROR if (p->front == p->rear) return 1; else return 0; } //求循环队列的长度 int QueueLength(SqQueue *p) { return (p->rear-...