Последовательности в стеке LIFO
Я учусь на среднесрочную перспективу, и мне нужна помощь с этим вопросом:
Предположим, что смешанная последовательность операций push и pop выполняется в стеке LIFO. Нажимы нажимают числа от 0 до 9 по порядку; всплывающие окна выводят возвращаемое значение. Какая из следующих выходных последовательностей может иметь место? Выберите все, что возможно.
1 2 5 4 3 6 0 9 8 7
6 5 4 3 2 1 0 7 8 9
4 6 8 7 5 3 2 9 0 1
0 1 5 6 4 3 7 9 2 8
0 2 4 1 6 7 5 9 8 3
Я считаю, что ответ:
6 5 4 3 2 1 0 7 8 9
Я прав? Заранее спасибо!
1 ответ
Первый вариант возможен, а последовательность:
push(0);
push(1);
pop();
push(2);
pop();
push(3);
push(4);
push(5);
pop();
pop();
pop();
push(6);
pop();
pop();
push(7);
push(8);
push(9);
pop();
pop();
pop();
Второй также возможен с последовательностью:
push(0);
push(1);
push(2);
push(3);
push(4);
push(5);
push(6);
pop();
pop();
pop();
pop();
pop();
pop();
pop();
push(7);
pop();
push(8);
pop();
push(9);
pop();
Третий не представляется возможным, потому что после печати 9
стек будет содержать 0 1
а также pop()
дам тебе 1
не 0
,
Также четвертый также не возможно, потому что после печати 9
стек будет иметь 2 8
а ты не можешь pop()
2
до 8
,
Пятый также невозможен, так как после печати 4 стека будут содержать 1 3
а также 3
будет выскочил первым.