阅读算法f2,并回答下列问题:(1)设队列Q=(1,3,5,2,

题目

阅读算法f2,并回答下列问题:(1)设队列Q=(1,3,5,2,4,6)。写出执行算法f2后的队列Q;(2)简述算法f2的功能。voidf2(Queue*Q){DataTypee;if(!QueueEmpty(Q)){e=DeQueue(Q);f2(Q);EnQueue(Q,e);}}

参考答案和解析
正确答案:(1)6,4,2,5,3,1 (2)将队列倒置
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设循环队列为Q(1:m),初始状态为front=rear=m。现经一系列入队与退队操作后,front=rear=m-1,则()。

A.该循环队列已空

B.该循环队列已满

C.该循环队列中有1个元素

D.该循环队列已空或已满


正确答案:D

第2题:

阅读下列说明,回答问题1至问题2,将解答填入对应栏内。

【说明】

利用Windows Server 2008架设邮件服务器,回答相应问题。

邮件服务器通常提供POP3和SMTP两种服务,它们各有什么作用?


正确答案:POP3用于收邮件SMTP用于发邮件。
POP3用于收邮件,SMTP用于发邮件。 解析:POP(Post Office Protocol)是一种电子邮局传输协议,而POP3是它的第三个版本,是规定了怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是Internet电子邮件的第一个离线协议标准。简单点说,POP3就是一个简单而实用的邮件信息传输协议,主要用于邮件的离线接收。
SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP协议帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP服务器就是遵循SMTP协议的发送邮件服务器,它主要用于邮件的发送及邮件服务器间的中转。

第3题:

阅读材料.回答下列问题。


正确答案:
答:(1)①从材料一可见,生态环境的恶化、自然灾害频发与人类没有从根本上尊重客观规律有关。规律具有客观性、普遍性。人类如果违背了规律,就会受到规律的惩罚。地球生态环境恶化就是客观规律对人类的惩罚。②材料二说明,人的意识对客观事物具有能动作用。意识活动具有目的性、计划性、主动创造性和自觉选择性。中国人民在党和政府领导下从实际出发,制定切实可行的拯救计划,充分发挥主观能动性,生产自救,重建家园,最终取得了抗灾救灾的重大胜利。③尊重客观规律和发挥主观能动性要求我们一切从实际出发,实事求是,把革命的热情和科学的态度结合起来,才能处理好人与自然的关系。
(2)创新是一个民族的灵魂,是一个国家兴旺发达的不竭动力。我们建设创新型国家,核心就是要增强自主创新能力。

第4题:

● 设循环队列Q 的定义中有 rear 和len两个域变量,其中 rear 表示队尾元素的指针,len 表示队列的长度,如下图所示(队列长度为 3,队头元素为 e) 。设队列的存储空间容量为M,则队头元素的指针为 (57) 。

(57)

A. (Q.rear+Q.len-1)

B. (Q.rear+Q.len-1+M)%M

C. (Q.rear-Q.len+1)

D. (Q.rear-Q.len+1+M)%M


正确答案:D

第5题:

判定一个循环队列Q(最多元素为m)为满队列的条件是(24)。

A.Q.front=(Q.rear+1)%m

B.Q.front!=(Q.rear+1)%m

C.Q.front=Q.rear

D.Q.front!=Q.rear+1


正确答案:A
解析:下图显示了循环队列Q为满队列时头尾指针的指向。

第6题:

下列哪一个进程调度算法会引起进程的饥饿问题? ()

A 先来先服务(FCFS)算法

B 时间片轮转(RR)算法

C 优先级(Priority)算法

D 多级反馈队列算法


参考答案C

第7题:

阅读下列函数说明和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; /*出队完成*/

}

}


正确答案:(1) q->num=0 (2) (q->rear+1) % MAXSIZE (3) q->num++ (4) q->data[q->front] (5) (q->front+1)%MAXSIZE
(1) q->num=0 (2) (q->rear+1) % MAXSIZE (3) q->num++ (4) q->data[q->front] (5) (q->front+1)%MAXSIZE 解析:(1)新建的队列中元素个数应为0;
(2)向循环队列中添加新元素后,队尾指针应向后移动一位;
(3)向循环队列中添加新元素后,队列中元素个数应增1;
(4)取出队首位置的元素;
(5)从循环队列中取出一个元素后,队首指针应向后移动一位。

第8题:

设循环队列Q的定义中有rear和len两个域变量,其中rear表示队尾元素的指针,len表示队列的长度,如下图所示(队列长度为3,队头元素为e)。设队列的存储空间容量为M,则队头元素的指针为(57)。

A.(Q.rear+Q.len-1)

B.(Q.rear+Q.1en-1+M)%M

C.(Q.rear-Q.1en+1)

D.(Q.rear-Q.1en+1+M)%M


正确答案:D
解析:按照正常线性存储的队列,队头元素的指针为(Q.rear-Q.len+1),而在循环队列里面,Q.rear-Q.1en+1可能会由于循环存储而变为负值,所以需要处理为(Q.rear-Q.1en+1+M)%M。

第9题:

设栈S的初始状态为空,队列Q的初始状态如图所示。

对栈S和队列Q进行下列两步操作: (1)删除Q中的元素,将删除的元素插入S,直至Q为空。 (2)依次将S中的元素插入Q,直至S为空。在上述两步操作后,队列Q的状态是【 】。


正确答案:a4a3a2a1
a4a3a2a1 解析:队列的删除是从队头开始的,所以在执行第一步后,S中的内容及顺序应为a1a2a3a4。但栈的出栈顺序是先进后出,所以出栈/顷序为a4a3a2a1。队列的内容及顷序也与出栈情况一致。

第10题:

阅读以下说明和关系表,回答问题1~3。

[说明]

关系S(学号Sno、课程号Cno、成绩Grade)、Q(课程号Cno、成绩Grade)、R(课程号Cno、教师号Tno)如下表所示,根据要求来进行关系运算。

求S×Q


正确答案:

更多相关问题