#include<stdio.h>
#define MAXSIZE 100
typedef struct SqQueue
{
int rear;
void* data[MAXSIZE];
}SqQueue;
void InitQueue(SqQueue* );
int QueueEmpty(SqQueue* );
int QueueLength(SqQueu* );
void GetFront(SqQueue*, void**);
void EnQueue(SqQueue*, void*);
void DeQueue(SqQueue*, void**);
void ClearQueue(SqQueu* );
#include <stdio.h>
#include <string.h>
#include "SqQueue.h"
void InitQueue(SqQueue* sq)
{
sq->rear = -1;
memset(sq->data, 0, sizeof(sq->data));
}
int QueueEmpty(SqQueue* sq)
{
if(sq->rear == -1)
return 1;
else
return 0;
}
int QueueLength(SqQueue* sq)
{
return sq->rear + 1;
}
void ClearQueue(SqQueue* sq)
{
sq->rear = -1;
}
void GetFront(SqQueue* sq, void** e)
{
if(sq->rear == -1) return;
*e = sq->data[0];
}
void EnQueue(SqQueue* sq, void* e)
{
if(sq->rear == MAXSIZE - 1)
return;
sq->rear++;
sq->data[sq->rear] = e;
}
void DeQueu(SqQueue* sq, void** e)
{
if(sq->rear == -1) return;
*e = sq->data[0];
for(int i = 1; i <= sq->rear; i++)
sq->data[i-1] = sq->data[i];
sq->rear--;
}