#ifndef _QUEUE_H_ #define _QUEUE_H_ #define ERROR 0 #define OK 1 #define TRUE 0 #define FALSE 1 #define MAXQSIZE 5 typedef int QElemType; typedef int Status; //循环队列,队列的顺序表示 typedef struct{ //定义队列 QElemType *base;//初始化的动态分配存储空间 int front; //头指针 int rear; //尾指针 }SqQueue; //链队列 typedef struct QNode{ QElemType data; struct QNode *next; }QNode,*QueuePtr; typedef struct{ //定义链队列 QueuePtr front;//队头指针 QueuePtr rear; //队尾指针 }LinkQueue; Status InitQueue_Q(SqQueue &Q); Status DestoryQueue_Q(SqQueue &Q); Status ClearQueue_Q(SqQueue &Q); Status QueueEmpty_Q(SqQueue &Q); Status QueueLength_Q(SqQueue Q); Status EnQueue_Q(SqQueue &Q,QElemType e); Status DeQueue_Q(SqQueue &Q,QElemType e); Status visit_display_Q(QElemType e); Status QueueTraverse_Q(SqQueue Q,Status (*visit)(QElemType e)); Status InitQueue(LinkQueue &Q); Status DestoryQueue(LinkQueue &Q); Status ClearQueue(LinkQueue &Q); Status QueueEmpty(LinkQueue &Q); Status QueueLength(LinkQueue Q); Status EnQueue(LinkQueue &Q,QElemType e); Status DeQueue(LinkQueue &Q,QElemType e); Status visit_display(QElemType &e); Status QueueTraverse(LinkQueue Q,Status (*visit)(QElemType &e)); #endif