Изменения

Перейти к: навигация, поиск

Персистентный стек

18 байт добавлено, 21:02, 29 февраля 2012
Нет описания правки
Пусть изначально у нас есть один пустой стек. Для удобства, будем хранить его как «голову» с пометкой пустого стека:
<br>[[Файл:B5bb212f3702e565498c4412e13242a7.jpg|left|width:100px|nothumb]]<br><br>
<br>
Далее выполним push(1, 5). Создается новая вершина со значением 5, ссылающаяся на 1-ую:
[[Файл:612b6fe1562242b3a455b2abb698dfc9.jpg|left|100px|nothumb]]<br><br>
<br>
Аналогично выполним push(2, 10) и push(1, 6):
<br><br>
[[Файл:2beb71892fd79b675e095d5432827d03.jpg|nothumb]]
<br>
[[Файл:B5bb212f3702e565498c4412e13242a7.jpg|left|100px|nothumb]]<br><br> <br><br>
Очевидно, что все 4 стека сейчас верно построены и легко восстанавливаются. Давайте теперь попробуем выполнить последовательно операции pop(2) и pop(3):
<br>
pop(2) возвращает 5 и копирует 1-ую вершину. Результирующий пятый стек — пустой.
[[Файл:B5bb212f3702e565498c4412e13242a7.jpg|left|100px|nothumb]]<br>
<br>
[[Файл:3ab7456751529d76c5f1392d5d3b5fcb.jpg|nothumb]]
 
<br><br>
 
<br><br>
 
pop(3) возвращает 10 и копирует 2-ую вершину: получаем шестой стек.
<br><br>[[Файл:B5bb212f3702e565498c4412e13242a7Eced2ebbcee643d6c87576b0d3460785.jpg|left|100px|nothumb]]<br><br><br><br> 
== См. также==
234
правки

Навигация