Нужно реализовать стек ограниченного размера. Этот стек работает как обычный стек, однако при превышении максимального размера удаляет самый глубокий элемент в стеке. Таким образом, в стеке всегда будет ограниченное число элементов.
Пример работы такого стека с ограничением в 2 элемента:
// сначала стек пуст
stack.Push(10); // в стеке 10
stack.Push(20); // в стеке 20, 10
stack.Push(30); // в стеке 30, 20
stack.Push(40); // в стеке 40, 30
stack.Pop(); // возвращает 40, в стеке остаётся 30
stack.Pop(); // возвращает 30, стек после этого пуст
Операция Push должна иметь сложность O(1), то есть никак не зависеть от размера стека.
Для реализации описанного стека создайте класс LimitedSizeStack.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |