Что мне не хватает для решения этой проблемы?Сравнение стека между 3 стеками целых чисел
проблема домашних заданий говорит:
Предположим, у вас есть 3 стеков целых чисел, s1 (который имеет значения в нем), s2 (который является пустым) и s3 (также пустые). Напишите код для сортировки записей в s1, используя приведенный здесь алгоритм (отсортированные значения будут в s2 в конце): В любой момент времени s2 будет содержать записи в отсортированном порядке с наименьшим значением в верхней части. Переместите верхний ввод s1 в s2. Удалите и рассмотрим верхнюю запись t s1. Удалите записи стека s2 и поместите их в стек s3, пока не дойдете до правильного места, чтобы положить t. Затем поместите t на s2. Затем переместите все записи с s3 на s2.
мой код до сих пор:
public class practice2
{
public static void main(String[] args)
{
Stack<Integer> s1 = new Stack<Integer>();
Stack<Integer> s2 = new Stack<Integer>();
Stack<Integer> s3 = new Stack<Integer>();
s1.push(1);
s1.push(61);
s1.push(21);
s1.push(31);
s1.push(51);
s1.push(111);
s2.push(s1.pop());
while(!s1.isEmpty())
{
if(s1.peek() < s2.peek())
{
s2.push(s1.pop());
}
else
{
s3.push(s1.pop());
}
}
if(s2.peek() < s3.peek())
{
while(!s2.isEmpty())
{
s1.push(s2.pop());
}
}
while(!s1.isEmpty())
{
if(s1.peek() > s3.peek())
{
s2.push(s1.pop());
}
else
s2.push(s3.pop());
}
}
}