Назад к задачам
Intern — Middle
6

Базовая реализация стека

Компании, где спрашивали:

IT OneIT One
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо реализовать простой стек с поддержкой базовых операций: добавление элемента, удаление верхнего элемента, просмотр верхнего без удаления и проверка состояний стека (пустой/полный). Требуется создать класс Stack, в котором будут реализованы методы push(), pop(), peek(), isEmpty() и isFull(). В функции main() создаётся стек фиксированного размера, в него помещаются несколько значений, при попытке добавить элемент в переполненный стек обрабатывается исключение, после чего проверяется корректность работы методов peek и pop, выводя результаты сравнения.

public class HelloWorld {

    public static void main(String[] args) {
        Stack myStack = new Stack(2);
        myStack.push(1);
        myStack.push(2);
        try {
            myStack.push(3);
        } catch (Exception e) {
        }

        System.out.println(myStack.peek() == 2);
        System.out.println(myStack.pop() == 2);
        System.out.println(myStack.peek() == 1);
        System.out.println(myStack.pop() == 1);
        System.out.println(myStack.pop() == null);
    }

    static class Stack {

        public Stack(int size) {
        }

        void push(int element) {
        }

        Integer peek() {
            return -1;
        }

        Integer pop() {
            return -1;
        }

        boolean isEmpty() {
            return false;
        }

        boolean isFull() {
            return false;
        }
    }
}