# Класс Stack

(PECL ds >= 1.0.0)

## Введение

Стек - это коллекция типа "Последний вошёл, первый вышел" (Last In, First Out или LIFO), которая позволяет работать только с самым верхним (последним) значением. Итерация происходит от конца к началу с удалением взятого элемента.

Внутри себя использует класс Ds\Vector.

## Обзор класса

class Ds\Stack implements Ds\Collection, ArrayAccess {
/* Методы */
public function allocate(int `$capacity`): void
public function capacity(): int
public function clear(): void
public function copy(): Ds\Stack
public function isEmpty(): bool
public function peek(): mixed
public function pop(): mixed
public function push(mixed `...$values`): void
public function toArray(): array
}

## Список изменений

Версия | Описание
--- | ---
PECL ds 1.3.0 | Теперь класс реализует ArrayAccess.

## Содержание

- Ds\Stack::allocate — Выделяет память под указанную вместимость
- Ds\Stack::capacity — Возвращает текущую вместимость
- Ds\Stack::clear — Удаляет все значения из коллекции
- Ds\Stack::__construct — Создаёт новый экземпляр класса
- Ds\Stack::copy — Возвращает поверхностную копию коллекции
- Ds\Stack::count — Возвращает количество элементов коллекции
- Ds\Stack::isEmpty — Проверяет, пуста ли коллекция
- Ds\Stack::jsonSerialize — Возвращает коллекцию в JSON-представлении
- Ds\Stack::peek — Возвращает значение с вершины стека
- Ds\Stack::pop — Удаляет и возвращает значение с вершины стека
- Ds\Stack::push — Добавляет значения в стек
- Ds\Stack::toArray — Преобразовывает коллекцию в массив (array)

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open