程序填空题:出链队列
本题目要求使用函数Out_LQueue(LQueue *q , datatype *x)从链队列q中弹出数据。
```c++
#include
#include
typedef int datatype;
typedef struct node
{
datatype data;
struct node *next;
}QNode;
typedef struct
{
QNode *front, *rear;
}LQueue;
int Out_LQueue(LQueue *q , datatype *x)
{
QNode *p;
if (Empty_LQueue(q) )
{
printf ("The LQueue is empty");
return 0;
}
else
{
p=q->front->next;
@@[q->front->next=p->next](3);
*x=p->data;
free(p);
if (q->front->next==NULL)
@@[q->rear=q->front](3);
return 1;
}
}
```
答案:
第1空:q->front->next=p->next
第2空:q->rear=q->front
```c++
#include
#include
typedef int datatype;
typedef struct node
{
datatype data;
struct node *next;
}QNode;
typedef struct
{
QNode *front, *rear;
}LQueue;
int Out_LQueue(LQueue *q , datatype *x)
{
QNode *p;
if (Empty_LQueue(q) )
{
printf ("The LQueue is empty");
return 0;
}
else
{
p=q->front->next;
@@[q->front->next=p->next](3);
*x=p->data;
free(p);
if (q->front->next==NULL)
@@[q->rear=q->front](3);
return 1;
}
}
```
答案:
第1空:q->front->next=p->next
第2空:q->rear=q->front