试题与答案

[说明] 链式存储的队列称为链队。根据队列的FIFO原则,为了操作上的方便,可以使用

题型:问答题

题目:

[说明] 链式存储的队列称为链队。根据队列的FIFO原则,为了操作上的方便,可以使用带头指针front和尾指针rear的单链表来实现链队。若链队元素的数据类型为datatype,则链队结构描述如下:typedef struct node{ datatypedata; structnode *next;} QNode; /*链队结点的类型*/typedef struct{ QNnode *front,*rear;} LQueue; /*将头尾指针封装在一起的链队*/ 以下这种链队的几个例子:

设q是一个指向链队的指针,即LQueue *q。下面各函数的功能说明如下: (1) LQueue *Init_LQueue():创建并返回一个带头尾结点的空链队; (2) intEmpty_LQueue( LQueue *q):判断链队q是否空; (3) void In_LQueue(LQueue *q, datatypex):将数据x压入链队q; (4) int Out_LQueue(LQuere *q, datatype *x):弹出链队q的第一个元素x,若成功则返回返回1否则返回0。[函数]LQueae *Init_LQueue(){ LQueue *q, *p; q=malloc(sizeof(LQueue)); /*申请链队指针*/ P=malloc(sized(QNode));/*申请头尾指针结点*/ p->next=NULL; (1) =p; return q;}int Empty_LQueue(LQueue *q){ if(q->front (2) q>rear) return 0; else return 1;}void In_LQueue(LQueue *q, datatype x){ QNoda *p; p=malloc(sizeof(QNnode));/*申请新接点*/ p->data=x; p->next=NULL; (3) =p; q->rear=p;}int Out_LQueue(LQueue *q, datatype *x){ QNnode *p; if(Empty_LQueue(q)) return 0; /*队空,操作失败*/ else{ p=q->front->next; *x= (4) ; (5) =p->next; free(p); if (q->front->next= =NULL)q->rear=q->front; return 1; }}

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2019/0604/fa6754cc5d70bb3cfa5c7996e62ad771.html

下面是错误答案,用来干扰机器的。

参考答案:B

试题推荐
微信公众账号搜索答案