Изменения

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

Стек

35 байт убрано, 23:24, 11 июня 2014
На списке
NewHead.next = OldHead
head = NewHead
delete NewHead
'''integer''' pop():
'''int''' element = OldHead.data
head = OldHead.next
delete OldHead
'''return''' element
В реализации на списке, кроме самих данных, хранятся указатели на следующие элементы, которых столько же, сколько и элементов, то есть, так же $n$. Стоит заметить, что, хотя общая оценка затрачиваемой памяти $O(n)$, в ней скрыта бóльшая константа, и реализация на списке требует несколько больше памяти.
</wikitex>
 
===На саморасширяющемся массиве===
<wikitex>Возможна реализация стека на [[Саморасширяющийся_массив|векторе]]. Для этого нужно создать вектор и определить операции стека на нём. В функции <math> \mathrm {push} </math> Перед тем, как добавить новый элемент, будем проверять, не нужно ли расширить массив вдвое, а в <math> \mathrm {pop} </math>, перед тем, как изъять элемент из массива, {{---}} не нужно ли вдвое сузить размер вектора. Ниже приведён пример реализации на векторе.
215
правок

Навигация