#include<stdio.h>
#include<stdlib.h>
typedef struct LinkNode
{
int data;
struct LinkNode* next;
}LinkNode;
typedef struct LinkQue
{
LinkNode* front,*rear;
}LinkQue;
//带头结点的链表队列初始化
bool InitLQ(LinkQue &Q)
{
Q.front = (LinkNode*)malloc(sizeof(LinkNode));
Q.front->next = NULL;
Q.rear = Q.front;
return true;
}
//出队 注意最后一个元素
bool DnQue(LinkQue &Q,int &x)
{
if(Q.front==Q.rear)
return false;
LinkNode* s;
s = Q.front->next;
x=s->data;
Q.front->next=s->next;
if(s==Q.rear)//删除最后一个元素 队尾指针要指向空 否则就会丢失
{
Q.rear=Q.front;
}
free(s);
return true;
}
void main(void)
{
}
07-23
608
03-03
275
06-11
2641