Изменения

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

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

95 байт добавлено, 14:58, 9 мая 2015
Эффективная реализация
Тогда операции push и pop будут иметь следующий вид:<br>
* <tex>push(i, x)</tex> — добавляет элемент х в стек с номером i, результирующий стек будет иметь номер <tex> n + 1 </tex>.
arr.function push (i : uint, x, : T): s.top = s.top + 1; s[s.top].value = x; s[s.top].prev = i);
* <tex>pop(i)</tex> — возвращает значение, хранящееся в элементе с номером i и копирует элемент, предыдущий для него.
результирующий стек будет иметь номер <tex> n + 1 </tex>.
a T pop(i : uint): T k = arrs[прошлый элемент для i-ого]; arr k = s[k.prev]; push(ak.prev, k.value);
== Пример ==
Анонимный участник

Навигация