2
このコードはStackを偶数と奇数に分解します。 even.pushとodd.pushはどのように動作しますか?スタックを偶数と奇数に分解する
public static ArrayStack decompose(ArrayStack x) {
ArrayStack y = new ArrayStack(x.size()/2);
ArrayStack odd = new ArrayStack(x.size()/2+1);
ArrayStack even = new ArrayStack(x.size()/2);
while(!x.isEmpty())
{
odd.push(x.pop());
if(!x.isEmpty())
even.push(x.pop());
}
while(!odd.isEmpty())
{
x.push(odd.pop());
}
while(!even.isEmpty())
{
y.push(even.pop());
}
return y;
}