Изменения

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

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

12 байт добавлено, 22:30, 6 июня 2015
Реализация на списке
'''Node''' prev
* <tex> \mathrm{push}(i, x)</tex> {{---}} добавляет элемент <tex>x</tex> в стек узла <tex>i</tex>.
'''functionStack''' push(i : '''Node''', x : '''T'''):
k.value = x
k.prev = i
top = k
 
* <tex>\mathrm{pop}(i)</tex> {{---}} возвращает значение, хранящееся в узле <tex>i</tex> и копирует элемент, предыдущий для него.
'''pair <T, Stack>''' pop(i : '''Node'''):
'''Node''' k = i.prev
push(k.prev, k.value)

Навигация