简述以下算法的功能(队列的元素类型为int)

2025-02-01 20:54:03
推荐回答(1个)
回答1:

while(!Empty(Q)){
x=GetHead(Q);
Remove ( Q)
if (x%2==0)
Append (q0,x);
else
Append (q1,x);
}
这一段是将队列分成奇数队列和偶数队列
while(!Empty(q1)){
Append (Q, GetHead(q1));
Remove ( q1);
}
这一段是将奇数队列中的元素放回原来的队列
while(!Empty(q0)){
Append (Q, GetHead(q0));
Remove ( q0);
}
这一段是将偶数队列中的元素放回原来的队列

所以这个算法的功能整体来说就是
将一个队列中的奇数和偶数分开,并且将奇数移到队前,偶数移到队尾