Я пишу этот метод, чтобы переупорядочить элементы двух стеков таким образом, что стек s1 содержит только четные целые числа, а стек s2 содержит только нечетные целые числа. и любые нули не должны храниться в s1 или s2.stack rerange stack odd even
public static void rerange(stackl l1 , stackl l2)
{
stackl tmp = new stackl();
stackl tmp2 = new stackl();
while(!l1.isEmptyS())
{
int x = l1.pop();
if(x!=0 && x%2==0)
tmp.push(x);
else
tmp2.push(x);
}
while(!l2.isEmptyS())
{
int y = l2.pop();
if(y!=0 && y%2==0)
tmp.push(y);
else
tmp2.push(y);
}
tmp.prints();
System.out.println();
tmp2.prints();
}
он работает хорошо, но он сортирует ero тоже, как я могу устранить 0s?
здесь является основным методом
public static void main(String[] args) {
stackl s1 = new stackl();
stackl s2 = new stackl();
s1.push(0);
s1.push(2);
s1.push(3);
s1.push(5);
s1.push(6);
s1.prints();
System.out.println();
s2.push(1);
s2.push(10);
s2.push(9);
s2.push(0);
s2.push(15);
s2.prints();
System.out.println();
rerange(s1,s2);
выход:
6 5 3 2 0
15 0 9 10 1
10 2 6
1 9 0 15 0 3 5