// 用定长数组 实现 循环队列
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef bool Status;
#define OK 0
#define ERROR 1
typedef int QElemType;
typedef struct QNode
{
QElemType *base;
int front;
int rear;
}SqQueue;
Status InitQueue(SqQueue &Q)
{
Q.base = (QElemType *)malloc(sizeof(QElemType)*MAXSIZE);
if (!Q.base) return ERROR;
Q.front = 0;
Q.rear = 0;
return OK;
}
Status QueueLengh(SqQueue &Q, int &L)
{
L = (MAXSIZE + Q.front - Q.rear) % MAXSIZE;
return OK;
}
Status EnQueue(SqQueue &Q, QElemType e)
{
if ((Q.rear + 1) % MAXSIZE == Q.front) { return ERROR; }//满
Q.base[Q.rear] = e;
Q.rear = (Q.rear + 1) % MAXSIZE;
return OK;
}
Status DeQueue(SqQueue &Q, QElemType e)
{
if (Q.front == Q.rear)return ERROR;
e = Q.base[Q.front];
Q.front = (Q.front + 1) % MAXSIZE;
return OK;
}
int main()
{
//我就不写测试程序了....
return 0;
}
8.用定长数组 实现 循环队列
最新推荐文章于 2023-12-28 18:29:16 发布