Ответ
Плюсы:
- Быстрый доступ к элементам (O(1) для push/pop)
- Простая реализация (массив или LinkedList)
- Полезен для LIFO операций (навигация, отмена действий)
- Минимальные overhead (нет индексации)
Минусы:
- Ограниченный доступ (только верхний элемент)
- Фиксированный размер (если на массиве)
- Не подходит для FIFO сценариев
// Пример реализации на Kotlin
val stack = Stack<Int>()
stack.push(1) // [1]
stack.push(2) // [1, 2]
val top = stack.pop() // 2, осталось [1]