阅读算法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);}}

阅读算法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);}}


相关考题:

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

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

设循环队列为Q(1:m),初始状态为front=rear=m。现经一系列入队与退队操作后,front=rear=m-1,则()。A.该循环队列已空B.该循环队列已满C.该循环队列中有1个元素D.该循环队列已空或已满

下列哪一个进程调度算法会引起进程的饥饿问题? () A 先来先服务(FCFS)算法B 时间片轮转(RR)算法C 优先级(Priority)算法D 多级反馈队列算法

阅读下列说明,回答问题1至问题2,将解答填入对应栏内。【说明】利用Windows Server 2008架设邮件服务器,回答相应问题。邮件服务器通常提供POP3和SMTP两种服务,它们各有什么作用?

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

判定一个循环队列Q(最多元素为m)为满队列的条件是(24)。A.Q.front=(Q.rear+1)%mB.Q.front!=(Q.rear+1)%mC.Q.front=Q.rearD.Q.front!=Q.rear+1

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

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

阅读以下说明和关系表,回答问题1~3。[说明]关系S(学号Sno、课程号Cno、成绩Grade)、Q(课程号Cno、成绩Grade)、R(课程号Cno、教师号Tno)如下表所示,根据要求来进行关系运算。求S×Q

设循环队列Q的定义中有front和size两个域变量,其中front表示队头元素的指针,size表示队列的长度,如下图所示(队列长度为3,队头元素为x,队尾元素为z)。设队列的存储空间容量为M,则队尾元素的指针为 (58)。A.(Q.front+Q.size-1)B.(Q.front+Q.size-1+M)%MC.(Q.front-Q.size)D.(Q.front-Q.size+M)%M

设循环队列的结构是: const int MaxSize=100; typedef int Data Type; typedef struct { DataType data[MaxSize]; int front, rear; }Queue; 若有一个Queue类型的队列Q,试问判断队列满的条件应是(33)。A.Q.front=Q.rear;B.Q.front-Q.rear==MaxSize;C.Q.front+Q.rear=MaxSize;D.Q.front==(Q.rear+1)%MaxSize;

设循环队列的结构如题33。若有一个Queue类型的队列Q,计算队列元素个数应该用(34)。A.(Q.rear-Q.front+ MaxSize)%MaxSize;B.Q.rear-Q.front+1;C.Q.rear-Q.front-1;D.Q.rear-Qfront;

设循环队列为Q(1:m),初始状态为front=rear=m。现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为()。A.1B.2C.m-1D.0或m

阅读以下说明和C函数,填补函数代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。【说明】队列是一种常用的数据结构,其特点是先入先出,即元素的插入在表头、删除在表尾进行。下面采用顺序存储方式实现队列,即利用一组地址连续的存储单元存放队列元素,同时通过模运算将存储空间看作一个环状结构(称为循环队列)。设循环队列的存储空间容量为MAXQSIZE,并在其类型定义中设置base、rear和lengtb三个域变量,其中’base为队列空间的首地址,rear为队尾元素的指针,length表示队列的长度。define maxqstze 100typedef struct {QElemType *base; /*循环队列的存储空间首地址*/int rear; /*队尾元素索引*/int length; /*队列的长度*/) SqQueue;例如,容量为8的循环队列如图3-1所示,初始时创建的空队列如图3一l(a)所示经过一系列的入队、出队操作后,队列的状态如图3-1 (b)所示(队列长度为3)。下面的C函数1、C函数2和C函数3用于实现队列的创建、插入和删除操作,请完善这些代码。【C函数1】创建一个空的循环队列。int initQueue (SqQueue *Q)/*创建容量为MAXQSIZE的空队列,若成功则返回1;否则返回0*/{ Q->base = (QElemType*) malloc(MAXQSIZE* (1) )if (!Q=>base) return 0;。;Q->length=O;Q-’rear =O:Return 1;} /*InitQueue*/【c函数2】元素插入循环队列。int EnQueue(sqQueue *Q. QElemType e)/*元素e入队,若成功则返回1;否则返回0*/{if ( Q->length>=MAXQSIZE) return 0.;Q->rear=(2);Q->base [Q->rear]=e;(3) ;Return 1) /*EnQUeue*/【c函数3】元素出循环队列。int DeQueue (SqQueue *Q. QElemType *e)/*若队列不空,则删除队头元素,由参数e带回其值并返回1;否则返回O*/{1f‘(4),return 0;*e =O->base[ (Q=>rear - Q->length+I+MAXQSTZE) %MAXQSIZE](5) ;returnl;} /*DeQueue*/

如果希望循环队列中的向量单元都能得到利用,则可设置一个标志域tag,每当尾指针和头指针值相同时,以tag的值为O或1来区分队列状态是“空”还是“满”.请对下列函数填空,使其分别实现与此结构相应的入队列和出队列的算法.intEnQueue(CirQueue*Q,DataType x){if Q-tag==1 return 0;Q-data[Q-rear]=x;Q-rear=(Q-rear+1)%MAXQSIZEif(Q-rear==Q-front)Q-tag=1return1:}intDeQueue(CirQueue*Q,DataType*x){if((1))return0;*x=Q-data[Q-front];Q-front= (2) ;(3) ;return1;}(1)(2)(3)

设f1(x)和f2(x)为二阶常系数线性齐次微分方程y''+py'+q=0的两个特解, 若由f1(x)和f2(x)能构成该方程的通解,下列哪个方程是其充分条件?A. f1(x)*f'2(x)-f'1(x)*f2(x)=0B. f1(x)*f'2(x)-f'1(x)*f2(x)≠0C. f1(x)*f'2(x)+f'1(x)*f2(x)=0D. f1(x)*f'2(x)+f'1(x)*f2(x)≠0

阅读下列语句,回答文后的问题。

设某循环队列Q的定义中有front和rear两个域变量,其中,front指示队头元素的位置,rear指示队尾元素之后的位置,如下图所示。若该队列的容量为M,则其长度为(57)。A.(Q.rear-Q.front+1)B.(Q.rear-Q.front+M)C.(Q.rear-Q.front+1)%MD.(Q.rear-Q.front+M)%M

判断下面的同步问题的算法是否正确?若有错,请指出错误原因并予以改正。 设A、B两进程共用一个缓冲区Q,A向Q写入信息,B则从Q读出信息,算法框图如图所示。

关于PQRST法,下列说法错误的是()A、P指先预习要记住的内容B、Q指向自己提问与内容有关的问题C、R指回答问题D、S指反复陈述阅读过的资料E、T指用回答问题的方式来检验自己的记忆

设循环队列的元素存放在一维数组Q[0‥30]中,队列非空时,front指示队头元素的前一个位置,rear指示队尾元素。如果队列中元素的个数为11,front的值为25,则rear应指向()元素。A、Q[4]B、Q[5]C、Q[14]D、Q[15]

假设线性表采用顺序存储结构,表中元素值为整型。阅读算法f2,设顺序表L=(3,7,3,2,1,1,8,7,3),写出执行算法f2后的线性表L的数据元素,并描述该算法的功能。voidf2(SeqList*L){inti,j,k;k=0;for(i=0;ilength;i++){for(j=0;jdata[i]!=L-data[j];j++);if(j==k){if(k!=i)L-data[k]=L-data[i];k++;}}L-length=k;}

设数组A[m]为循环队列Q的存储空间,font为头指针,rear为尾指针,判定Q为空队列的条件()。

单选题设f1(x)和f2(x)为二阶常系数线性齐次微分方程y″+py′+q=0的两个特解,若由f1(x)和f2(x)能构成该方程的通解,下列哪个方程是其充分条件?()Af1(x)f′2(x)-f2(x)f′1(x)=0Bf1(x)f′2(x)-f2(x)f′1(x)≠0Cf1(x)f′2(x)+f2(x)f′1(x)=0Df1(x)f′2(x)+f2(x)f′1(x)≠0

填空题阅读算法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);}}

单选题设f1(x),f2(x)是二阶线性齐次方程y″+p(x)y′+q(x)y=0的两个特解,则c1f1(x)+c2f2(x)(c1,c2是任意常数)是该方程的通解的充要条件为(  )。Af1(x)f2′(x)-f2(x)f1′(x)=0Bf1(x)f2′(x)+f1′(x)f2(x)=0Cf1(x)f2′(x)-f1′(x)f2(x)≠0Df1′(x)f2(x)+f2(x)f1(x)≠0

填空题设数组A[m]为循环队列Q的存储空间,font为头指针,rear为尾指针,判定Q为空队列的条件()。