215
правок
Изменения
Стек
,→На саморасширяющемся массиве
* <tex>newStack[0..newSize]</tex> {{---}} новый массив, в котором хранится стек
* <tex>head</tex> {{---}} верхушка стека
* <tex>sizecapacity</tex> {{---}} размер стека
'''function''' push(element : '''T'''):
'''if''' head == size capacity - 1 '''T''' newStack[size capacity * 2] '''for''' i = 0 '''to''' size capacity - 1
newStack[i] = s[i]
s = newStack
head++
s[head] = element
temp = head
head--
'''if''' head < size capacity / 4 '''T''' newStack[size capacity / 2] '''for''' i = 0 '''to''' size capacity / 4 - 1
newStack[i] = s[i]
s = newStack
'''return''' s[temp]