队列在链式存储上的操作包括:(6) 队列置空操作CLEAR(Q)(7) 求队列中元素个数的操作 CURRENT_SIZE(Q)

来源:百度知道 编辑:UC知道 时间:2024/07/06 20:51:32

#include "stdio.h"
#include "stdlib.h"
#include "z.h"

//链队列初始化
void initlinkqueue(LINKQUEUE *q)
{
q->front=(LINKQLIST *)malloc(sizeof(LINKQLIST));
(q->front)->next=NULL;
q->rear=q->front;
}

//判链队列空
int emptylinkqueue(LINKQUEUE *q)
{
int v;
if(q->front==q->rear)
v=1;
else
v=0;
return v;
}

//读链队列队首元素
DATATYPE1 getlinkfront(LINKQUEUE *q)
{
DATATYPE1 v;
if(emptylinkqueue(q))
v=NULL;
else
v=(q->front)->next->data;
return v;
}

//元素插入链队列
void enlinkqueue(LINKQUEUE *q,DATATYPE1 x)
{
(q->rear)->next=(LINKQLIST *)malloc(sizeof(LINKQLIST));
q->rear=(q->rear)->next;
(q->rear)->data=x;
(q->rear)->next=NULL;
}

//从链队列中删除元素
DATATYPE1 dellinkqueue(LINKQUEUE *q)
{