/
hel_bumer
/
Steki
Обзор
Документация
Войти
/
hel_bumer
/
Steki
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
LinkedStack.java
73 строки
3 KB
hel_bumer
От 230126 после доработки
23 янв 2026, 10:14
Верифицирован
23 янв 2026, 10:14
0b1efe1
Код
Авторство
О чём код?
public class LinkedStack { private Node tail; // ссылка на последний добавленный узел (обёртку) private int size; // размер стека, т.е. количество элементов в нём public void push(int value) { Node node = new Node(value); // создаём новый узел if (tail != null) { // если в стеке уже есть элементы node.setPrev(tail); // связываем новый узел с последним } tail = node; // назначаем новый узел последним узлом size++; // увеличиваем счётчик элементов } public int pop() { // ваш код // возьмите value из последнего узла int value = tail.getValue(); // назначьте предыдущий к последнему узлу последним узлом tail = tail.getPrev(); size--; return value; } public int getSize() { // ваш код return size;// верните размер стека } public boolean isEmpty() { // ваш код return tail == null; // верните ответ на вопрос, не пустой ли стек } public String toString() { if (tail == null) { return "[]";// если есть элементы, пройдитесь по связному списку, } StringBuilder sb = new StringBuilder("[");//альтернативное решение с sb //String result = "["; Node current = tail; // начинаем с последнего узла // выводя элементы. // вывод должен быть в точности как в комментариях к main // при этом этот метод не должен менять стек! int[] values = new int[size]; int index = 0; while (current != null) { values[index++] = current.getValue(); current = current.getPrev(); } for (int i = size - 1; i >= 0; i--) { sb.append(values[i]); //result = result + values[i]; // добавляем элемент if (i > 0) { sb.append(", "); // result = result + ", "; // добавляем запятую если не последний } } sb.append("]"); return sb.toString(); // result = result + "]"; // закрывающая скобка // return result; } }