Создать класс Stack.
В качестве единственного необязательного параметра конструктор Stack должен принимать максимальное количество элементов в стеке. Если параметр является невалидным числом, генерировать ошибку. Если параметр не указан, задавать максимальный размер стека равным 10.
Реализовать публичные методы:
- push(elem) - добавить новый элемент в стек (генерировать ошибку, если стек переполнен);
- pop() - удалить верхний элемент стека и вернуть его (генерировать ошибку, если стек пуст);
- peek() - получить верхний элемент стека (вернуть null, если стек пуст);
- isEmpty() - возвращает логическое значение (пуст стек или нет);
- toArray() - возвращает новый массив, состоящий из элементов стека.
Реализовать статические публичные методы:
- fromIterable(iterable) - возвращает новый Stack, элементами которого служат элементы переданной итерируемой сущности. Максимальное количество элементов такого стека должно быть равно длине этой сущности. Если сущность не является итерируемой генерировать ошибку.
1) В первую и главную очередь буду смотреть на структуры данных. Т.е. если увижу в классе Stack что-то по типу обычного перебора элементов по индексам или же использования встроенных методов массива, то не приму задание. Реализация класса должна полностью соответствовать сущности того, что вы реализуете. Если стек работает только через верхний элемент, то и "крутиться" нужно от этого.
2) Кроме этого, естественно, все функции класса должны отрабатывать корректно.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |