注意:此页面搜索的是所有试题
阅读下列算法,并回答问题:
(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和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)
}
}
参考答案