头文件
#ifndef _SEQUENCEQUEUE_H
#define _SEQUENCEQUEUE_H
#define SIZE 30
#define FAILURE 10000
#define SUCCESS 10001
#define FALSE 10002
#define TRUE 10003
struct queue
{
int data[SIZE];
int front;
int rear;
};
typedef struct queue Queue;
int QueueInit(Queue *q);
int QueueEmpty(Queue q);
int QueueEnter(Queue *q, int i);
int QueueExit(Queue *q);
int QueueGet(Queue *q);
int QueueLength(Queue *q);
int QueueClear(Queue *q);
#endif
功能函数
#include <stdio.h>
#include "SequenceQueue.h"
int QueueInit(Queue *q)
{
if(NULL == q)
{
return FAILURE;
}
q->front = q->rear = 0;
return SUCCESS;
}
int QueueEmpty(Queue q)
{
return (q.front == q.rear) ? TRUE : FALSE;
}
int QueueEnter(Queue *q, int e)
{
if(NULL == q)
{
return FAILURE;
}
if((