搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友13***976 发布时间:2022-01-06
[主观题]

以下函数为链队列的人队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的队头、队

尾指针

struct node

{ElemType data;

struct node * next;

};

struct node *front,*rear;

void InQueueCElemType x)

{

struct node * p;

p= (struct node*)________________;

p一>data=x;

p一>next=NULL;

______________________;

rear=_____________;

}

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“以下函数为链队列的人队操作,x为要入队的结点的数据域的值,front、rear分别是链队列的队头、队”相关的问题
第1题
三、简答题: 1、循环队列的优点是什么? 如何判别它的空和满? 2、设长度为n的链队用单循环链表表示,若设头指针,则入队出队操作的时间复杂度为多少? 若只设尾指针呢?
点击查看答案
第2题
在一个链队列中,假设队头指针为front,队尾指针为rear,x所指向的元素需要入队,则需要执行的操作为
()。

A.fronr=x,front=front->next

B.x->next=front->next,front=x

C.rear->next=x,rear=x

D.rear->next=x,X->next=null,rear=x

点击查看答案
第3题
一个链队列q的队头和队尾指针是front和rear,该链队列已经存储有3个元素,现在有结点P要入队,入队操作是()。

A.P->rear=q; q->rear=p;

B.q->rear->next=p;

C.q->rear->next=p; q->rear=p;

D.q->rear=p;q->rear->next=p;

点击查看答案
第4题
设长度为n的链队列用单循环链表表示,若只设头指针,则入队和出队操作的时间复杂度分别为()和();若只设尾指针,则入队和出对操作的时间复杂度分别为()和()。
设长度为n的链队列用单循环链表表示,若只设头指针,则入队和出队操作的时间复杂度分别为()和();若只设尾指针,则入队和出对操作的时间复杂度分别为()和()。

点击查看答案
第5题
●设长度为n的链队列用单循环链表表示,若只设头指针,则入队、出队操作的时间是 (41) ,若只设尾指针

●设长度为n的链队列用单循环链表表示,若只设头指针,则入队、出队操作的时间是 (41) ,若只设尾指针呢,需要的时间为 (42) 。

(41) A.O(n2,O (1)

B.O(n),O (1)

C.O(n2-1),O(n)

D.O(n-1),O(n-1)

(42) A.O (1) ,O (1)

B.O(n),O (1)

C.O(n2),O (1)

D.O(n),O(n)

点击查看答案
第6题
设有数组A[0..m]作为循环队列的存储空间,front为队头指针(它指向队首元素的前一位置),rear为队尾指针(它指向队尾元素的位置),则元素x执行入队的操作是()

A.rear=(rear+1)%(m+1); A[rear]=x;

B.1

点击查看答案
第7题
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。[说明] 循环队列的类型定义如下(其中

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。

[说明]

循环队列的类型定义如下(其中队列元素的数据类型为datatype):

typedef struct{

datatype data[MAXSIZE]; /*数据的存储区*/

int front,rear; /*队首、队尾指针*/

int num; /*队列中元素的个数*/

}c _ SeQueue; /*循环队*/

下面函数及其功能说明如下:

(1) c_SeQueue* Init_SeQueue():新建队列;

(2) int ln_SeQueue(c_SeQueue *q, datatype x):将元素x插入队列q,若成功返回1否则返回0;

(3) int Out_SeQueue (c_SeQueue *q, datatype *x):取出队列q队首位置的元素,若成功返回1否则返回0。

[函数]

c_SeQueue* Init_SeQueue()

{ q=malloc(sizeof(c_SeQueue));

q->front=q->rear=MAXSIZE-1;

(1);

return q;

}

int In_SeQueue(c_SeQueue *q, datatype x)

{ if(q->num= =MAXSIZE) return 0; /*队满不能入队*/

else {

q->rear=(2);

q->data[q->rear]=x;

(3);

return 1; /*入队完成*/

}

}

int Out_SeQueue(c_SeQueue *q, datatype *x)

{ if (q->num= =0) return 0; /*队空不能出队*/

else{

*x=(4); /*读出队首元素*/

q->front=(5);

q->num- -;

return 1; /*出队完成*/

}

}

点击查看答案
第8题
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明] 这是一个模拟渡口管理

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

[说明]

这是一个模拟渡口管理的算法。某汽车轮渡口,过江渡船每次能载10辆车过江。过江车辆分为客车类和火车类,上船有如下规定:同类车先到先上船,客车先于货车上渡船,且每上4辆客车,才允许上一辆货车;若等待客车不足4辆,则以货车代替,若无货车等待则允许客车都上船。

程序中用到的函数有enqueue(queue*sq,elemtype*x)在队列sq中入队一个元素x;outqueue(queue*sq,elemtype*x)在队列sq中出队一个元素,并将其值赋给x;empty(queue*sq)判断队列sq是否为空队,若为空,返回1;否则返回0。

[C程序]

include<stdio.h>

void pass(){

queue bus,truct; /*bus表示客车队列,truck表示货车队列*/

char ch;

int n,tag; /* ]n为车号,tag为标志,tag=0表示客车,tag=1表示货车*/

intcount=0,countbus=0,counttruck=0; /*分别表示上渡船汽车数、客车数、货车数*/

while(1){

printf("输入命令: \n");

Scanf("%c",&ch);

switch(ch){

case'e':

case'E': printf("车号: \n");

Scanf("%d",&n);

printf("客车\货车(0\1): \n");

scanf("%d",&tag);

if((1) )

enqueue(&bus,n);

else

enqueue(&truck,n);

break;

case'i':

case'I': while(count<10){

if((2) && empty(&bus)==0){ /*客车出队*/

outqueue(&bus,&n);

printf("上船的车号为: \n");

count++;

(3) ;

}

eise if((4) ){ /*货车出队*/

countbus=0;

outqueue(&truck,&n);

printf("上船的车号为: \n");

count++;

counttruck++;

}

else if(empty(&bus)==0){

(5);

outqueue(&truck,&n);

printf("没有10辆车排队轮渡\n");

count++;

countbus++;

}

else{

printf("没有10辆车排队轮渡\n");

retUrn;

}

break;

}

case'q':

case'Q':break;

}

if(ch=='q' || ch=='Q')

break;

}

}

点击查看答案
第9题
设循环队列的容量为70,现经过一系列的入队和出队操作后,front为20,rear为11,则队列中元素的个数为()。
点击查看答案
第10题
void AF(Queue&q) { InitQueue(q)://初始化队列 int a [4]={15,18,12,5} for(int i=0;i<4;i++)EnQueue(q,a[i]);// EnQueue入队函数 EnQueue(q,outQueue(q)); EnQueue(q,30); EnQueue(q,outQueue(q)+10);// outQueue (q)为出队函数
点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP