程序填空题:初始化链队列,并判断是否为空
本题目要求Init_LQueue()函数初始化带头结点的链队列,并用Empty_LQueue( LQueue *q)函数判断队列是否为空,队列为空返回1,否则返回0。
```c++
#include
#include
typedef int datatype;
typedef struct node
{
datatype data;
struct node *next;
}QNode;
typedef struct
{
QNode *front, *rear;
}LQueue;
LQueue *Init_LQueue()
{
LQueue *q;
QNode *p;
q=(LQueue * )malloc(sizeof(LQueue));
p=(QNode * )malloc(sizeof(QNode));
p->next=NULL;
@@[q->front=q->rear=p](3);
return q;
}
int Empty_LQueue( LQueue *q)
{
if (@@[q->front==q->rear](3)) return 1;
else return 0;
}
```
答案:
第1空:q->front=q->rear=p
第2空:q->front==q->rear
```c++
#include
#include
typedef int datatype;
typedef struct node
{
datatype data;
struct node *next;
}QNode;
typedef struct
{
QNode *front, *rear;
}LQueue;
LQueue *Init_LQueue()
{
LQueue *q;
QNode *p;
q=(LQueue * )malloc(sizeof(LQueue));
p=(QNode * )malloc(sizeof(QNode));
p->next=NULL;
@@[q->front=q->rear=p](3);
return q;
}
int Empty_LQueue( LQueue *q)
{
if (@@[q->front==q->rear](3)) return 1;
else return 0;
}
```
答案:
第1空:q->front=q->rear=p
第2空:q->front==q->rear