简述以下算法的功能(队列的元素类型为int)void algo2(Queue&Q){Queue q0,q1;int x;;while(!Empty(Q)){x=GetHead(Q);Remove (\x05Q)if (x%2==0)Append (q0,x);else Append (q1,x);}while(!Empty(q1)){Append (Q,GetHead(q1));Remove (\x05q1);}wh

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 15:30:17

简述以下算法的功能(队列的元素类型为int)void algo2(Queue&Q){Queue q0,q1;int x;;while(!Empty(Q)){x=GetHead(Q);Remove (\x05Q)if (x%2==0)Append (q0,x);else Append (q1,x);}while(!Empty(q1)){Append (Q,GetHead(q1));Remove (\x05q1);}wh
简述以下算法的功能(队列的元素类型为int)
void algo2(Queue&Q)

Queue q0,q1;
int x;;
while(!Empty(Q)){
x=GetHead(Q);
Remove (\x05Q)
if (x%2==0)
Append (q0,x);
else
Append (q1,x);
}
while(!Empty(q1)){
Append (Q,GetHead(q1));
Remove (\x05q1);
}
while(!Empty(q0)){
Append (Q,GetHead(q0));
Remove (\x05q0);
}
}

简述以下算法的功能(队列的元素类型为int)void algo2(Queue&Q){Queue q0,q1;int x;;while(!Empty(Q)){x=GetHead(Q);Remove (\x05Q)if (x%2==0)Append (q0,x);else Append (q1,x);}while(!Empty(q1)){Append (Q,GetHead(q1));Remove (\x05q1);}wh
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);
}
这一段是将偶数队列中的元素放回原来的队列
所以这个算法的功能整体来说就是
将一个队列中的奇数和偶数分开,并且将奇数移到队前,偶数移到队尾