阅读算法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题:
设循环队列为Q(1:m),初始状态为front=rear=m。现经一系列入队与退队操作后,front=rear=m-1,则()。
A.该循环队列已空
B.该循环队列已满
C.该循环队列中有1个元素
D.该循环队列已空或已满
第2题:
阅读下列说明,回答问题1至问题2,将解答填入对应栏内。
【说明】
利用Windows Server 2008架设邮件服务器,回答相应问题。
邮件服务器通常提供POP3和SMTP两种服务,它们各有什么作用?
第3题:
阅读材料.回答下列问题。
第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
第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
第6题:
A 先来先服务(FCFS)算法
B 时间片轮转(RR)算法
C 优先级(Priority)算法
D 多级反馈队列算法
第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; /*出队完成*/
}
}
第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
第9题:
设栈S的初始状态为空,队列Q的初始状态如图所示。
对栈S和队列Q进行下列两步操作: (1)删除Q中的元素,将删除的元素插入S,直至Q为空。 (2)依次将S中的元素插入Q,直至S为空。在上述两步操作后,队列Q的状态是【 】。
第10题:
阅读以下说明和关系表,回答问题1~3。
[说明]
关系S(学号Sno、课程号Cno、成绩Grade)、Q(课程号Cno、成绩Grade)、R(课程号Cno、教师号Tno)如下表所示,根据要求来进行关系运算。
求S×Q