215
правок
Изменения
Стек
,→На саморасширяющемся массиве
===На саморасширяющемся массиве===
Возможна реализация стека на [[Саморасширяющийся_массив|векторе]]. Для этого нужно создать вектор и определить операции стека на нём. В функции <tex> \mathrm {push} </tex> Перед тем, как добавить новый элемент, будем проверять, не нужно ли расширить массив вдвое, а в <tex> \mathrm {pop} </tex>, перед тем, как изъять элемент из массива, {{---}} не нужно ли вдвое сузить размер вектора. Ниже приведён пример реализации на векторе.
Ключевые поля:
* <tex>s</tex> {{---}} старый массив, в котором хранится стек
* <tex>newS</tex> {{---}} новый массив, в котором хранится стек
* <tex>head</tex> {{---}} верхушка стека
* <tex>size</tex> {{---}} размер стека
'''function''' push(element):