首先队列需要二个元素front和rear来表示现在所指向的节点,front指向的是 头结点,而头结点指向的是第一个有效元素,尾节点指向最后一个有效元素。
void initQueue(PQUEUE);
void push(PQUEUE,int);
void Front(PQUEUE,int *);
void travers_list(PQUEUE);
bool pop(PQUEUE,int * );
bool is_Empty(PQUEUE);
void Clear(PQUEUE s);
队列实现了以上几个操纵
1.创建队列
void initQueue(PQUEUE q)
{
q->pRear=(PNODE)malloc(sizeof(NODE));
if(q->pRear==NULL)
{
printf("分配内存失败\n");
exit(-1);
}
q->pFront=q->pRear;
q->pFront->pNext=NULL;
}
在此创建头结点,将头结点和尾节点同时指向同一个地址
2.入队
void push(PQUEUE p,int val)
{
PNODE s=(PNODE)malloc(sizeof(NODE));
if(s==NULL)
{
printf("分配内存失败\n");
exit(-1);
return ;
}
s->date=val;
s->pNext=NULL;
p->pRear