搜题
问题   更新时间2023/4/3 12:59:00

阅读下列算法,并回答问题:

(1)Q、Q1和Q2都是队列结构,设队列Q=(1,0,-5,2,-4,-6,9),其中1为队头元素,写出执行f31 (&Q,&Q1,&Q2)之后队列Q、Q1和Q2的状态;
(2)简述算法f31的功能。
(注:lnitQueue、EnQueue、DeQueue和QueueEmpty分别是队列初始化、入列、出队和判队空的操作)
void f31 (Queue*Q, Queue*Q1, Queue*Q2) {
int e;
lnitQueue (Q1);
lnitQueue (Q2);
while (!QueueEmpty (Q)) {
e=DeQueue (Q);
if (e>=0) EnQueue (Q1,e);
else EnQueue (Q2,e)
}
}

教师释疑: (1)Q=() Q1=(1,0,2,9) Q2=(-5,-4,-6) (2)将队列Q的元素依次出队,并将正值元素及0元素入队到Q1,负值元素入队到Q2
王老师:19139051760(拨打)