queue.cpp

来自「二叉树的实现」· C++ 代码 · 共 44 行

CPP
44
字号
//使用前应定义QElemType
#include <malloc.h>
#include "preDefine.h"
#define MAXQSIZE 100

typedef struct SqQueue
{    QElemType *base;
     int front;
     int rear;
}SqQueue;

Status InitQueue(SqQueue &Q)
{   Q.base=(QElemType *)malloc(MAXQSIZE*sizeof(QElemType));
    if(!Q.base) return (ERROR);
    Q.front=Q.rear=0;
    return OK;
}

Status EnQueue(SqQueue &Q,QElemType e)
{   if((Q.rear+1)%MAXQSIZE==Q.front)
		return (ERROR);
    Q.base[Q.rear]=e;
    Q.rear=(Q.rear+1)%MAXQSIZE;
    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)%MAXQSIZE;
	return OK;
}

Status DestroyQueue(SqQueue &Q)
{
	free(Q.base);
	return OK;
}

int QueueLength(SqQueue Q)
{    
	return ((Q.rear-Q.front+MAXQSIZE)%MAXQSIZE);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?