#include <iostream>
#include <malloc.h>
#include <cstdlib>
using namespace std;
typedef int status;
typedef int ElmeType;
//链式队列节点定义
typedef struct QNode
{
ElmeType e;
struct QNode *next;
} QNode, *QueuePtr;
//链示队列定义
typedef struct LinkQueue
{
QueuePtr front, rear;
} LinkQueue;
//初始化链示队列
status InitLinkQueue(LinkQueue *Q)
{
Q->front = (QueuePtr)malloc(sizeof(QNode));
if(!Q->front)
return -1;
Q->rear = Q->front;
Q->front->next = NULL;
return 1;
}
//清空队列
status ClearQueue(LinkQueue *Q)
{
QueuePtr p, q;
Q->rear = Q->front;
p = Q->front;
Q->front->next = NULL;
while(p)
{
q = p;