假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾结点,但不设头指针,下面是相应的入队列和出队列算法,请在空缺处填写以完成功能。
typedef int ElemType;
typedef struct node {
ElemType data;
struct node *next;
}QueueNode, *LinkQueue;
int inQueue (LinkQueue &rear, ElemType x)// 入队
{
QueueNode *p=(QueueNode*)malloc(sizeof(QueueNode));
1
return 0;
p->data=x;
2 ;
3 ;
rear=p;
printf("\n%d 进队...\n", x);
return 1;
}
int delLinkQueue(LinkQueue &rear, ElemType &x)// 出队
{
if(rear==rear->next)
{
return 0;
}
QueueNode *p= 4 ;
5 ;
x=p->data;
if(rear==p)
6 ;
free(p);
return 1;
}