主函数该如何写?
#include<stdio.h>
#include<malloc.h>
#define ERROR 0
#define OK 1
#define MAXQSIZE 20
typedef int QElemType; /*队列元素类型*/
typedef struct
{
QElemType *base;
int front;
int rear;
}SqQueue;
/*初始化队列*/
int InitQueue(SqQueue *Q)
{
Q->base=(QElemType *)malloc(MAXQSIZE *sizeof(QElemType));
if(!Q->base)
return ERROR;
Q->front=Q->rear=0;
return OK;
}/*InitQueue*/
/*求队长*/
int QueueLength(SqQueue *Q)
{
return Q->rear-Q->front;
}/*QueueLentgh*/
/*入队*/
int 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;
}/*EnQuese*/
/*出队*/
int 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;
}/*DeQueue*/
/*判队空*/
int QueueEmpty(SqQueue *Q)
{
if(Q->front==Q->rear)
return OK;
else
return ERROR;
}/*QueueEmpty*/
/*取队头*/
int GetHead(SqQueue *Q,QElemType *e)
{
if(Q->front==Q->rear)
return ERROR;
*e=Q->base[Q->front];
return OK;
}/*GetHead*/
/*销毁队列*/
int DestroyQueue(SqQueue *Q)
{
if(Q->base)
{
Q->rear=Q->front=0;
free(Q->base);
}
return OK;
}/*DestroyQueue*/
int main()
{
SqQueue q;
int e;
InitQueue(&q);
return 0;
}