循环 队列头文件:Queue.h
#ifndef QUEUE_H
#define QUEUE_H
#define MAXSIZE 20
typedef struct Node{
int data[MAXSIZE];
int front;
int order;
}Queue;
void InitQueue(Queue *q); //初始化队列
bool IsEmpty(Queue *q); //判断队列是否为空
void EnQueue(Queue *q,int Element); //进队
void DeQueue(Queue *q,int *e); //出队
#endif //QUEUE_H
队列实现文件:Queue.cpp
#include "Queue.h"
#include <string.h>
void InitQueue(Queue *q)
{
q->front = q->order = 0;
memset(q->data,-1,sizeof(int)*MAXSIZE);
}
bool IsEmpty(Queue *q)
{
if(q->order == q->front)
return true;
return false;
}
void EnQueue(Queue *q,int Element)
{
if((q->order + 1) % MAXSIZE == q->front)
return;
q->data[q->order] = Element;
q->order = (q->order + 1) / MAXSIZE;
}
void DeQueue(Queue *q,int *e)
{
if(q->order == q->front)
retur