#include"stdio.h"
#include"malloc.h"
typedef int DataType;
{ DataType date;
struct qnote *next;
}LinkListQ;
typedef struct
{
LinkQueue;
LinkQueue *InitQUEUE()
{
LinkQueue *Q;
LinkListQ *P;
q=(LinkQueue *)malloc(sizeof( LinkQueue));
p=(LinkListQ*)malloc(sizeof(LinkListQ));
Q->front=p;
Q->rear=p;
return Q;
}
int EmptyQueue(LinkQueue *Q)
{
if(Q->front==Q->rear)
return 1;
else
return 0;
}
InQueue(LinkQUEUE *q,DateType X)
{LinkListQ*p;
p=(LinkListQ*)malloc(sizeof(LinkListQ));
P->data=x;
p-=next=NULL;
Q->rear->next=p;
Q->rear=p;
}
int DeQueue(LinkQueue *Q,DataTypoe*x)
{
LinkListQ*p;
if(EmptyQueue(Q))
{ printf("队空,不能出队元素!");
return 0;
}
else
{
p=Q->front->next;
*=p->data;
Q->front->next=p->next;
if(p->next==NULL)
Q->rear=Q->front;
free(p);
return 1;
}
}
int GetFront(LinkQueue *Q,DaraType *x)
{
if (EmptyQueue( Q))
{
printf("队空,无队头元素!");
return 0;
}
else
{
*x=Q->front->next->data;
return 1;
}
}
void showQueue(LinkQueue *Q)
{
LinkListQ *P=Q->front->next;
if(p==NULL)
printf("队列为空,无元素!");
else
{
printf("从");
while(p!=NULL)
{
printf("%5d",p->data);
p=p->next;
}
}
}