📄 linqueue.h
字号:
typedef struct qnode
{
QDataType data;
struct qnode *next;
} LQNode;
typedef struct
{
LQNode *front;
LQNode *rear;
} LQueue;
//初始化
void QueueInitiate(LQueue *Q)
{
Q->front=NULL;
Q->rear=NULL;
}
//非空否
int QueueNotEmpty(LQueue *Q)
{
if(Q->front==NULL)
return 0;
else return 1;
}
//入队列
int QueueAppend(LQueue *Q,QDataType x)
{
LQNode *p;
if((p=(LQNode*)malloc(sizeof(LQNode)))==NULL)
{
printf("内存空间不足!\n");
return 0;
}
p->data=x;
p->next=NULL;
if(Q->rear!=NULL)
Q->rear->next=p;
Q->rear=p;
if(Q->front==NULL)
Q->front=p;
return 1;
}
//出队列
int QueueDelete(LQueue *Q,QDataType *d)
{
LQNode *p;
if(Q->front==NULL)
{
printf("队列已空无数据出队列!\n");
return 0;
}
*d=Q->front->data;
p=Q->front;
Q->front=Q->front->next;
if(Q->front==NULL)
Q->rear=NULL;
free(p);
return 1;
}
//取队头数据元素
int QueueGet(LQueue Q,QDataType *d)
{
if(Q.front==NULL)
{
printf("对列已空无数据出队列!\n");
return 0;
}
*d=Q.front->data;
return 1;
}
//撤消动态申请空间
void QueueDestroy(LQueue Q)
{
LQNode *p,*q;
p=Q.front;
while(p!=NULL)
{
q=p;
p=p->next;
free(q);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -