Sobes.tech
Назад к вопросам
Junior — Middle
81

Каким образом можно реализовать структуру данных Stack в программировании?

Ответ от нейросети

sobes.tech AI

Стек (Stack) — это структура данных, работающая по принципу LIFO (Last In, First Out), то есть последний добавленный элемент извлекается первым.

В Android (Java/Kotlin) стек можно реализовать несколькими способами:

  1. Использовать класс Stack из Java Collections:
import java.util.Stack;

Stack<Integer> stack = new Stack<>();
stack.push(10); // Добавить элемент
int top = stack.pop(); // Извлечь верхний элемент
  1. Использовать Deque как стек (предпочтительный способ):
import java.util.ArrayDeque;
import java.util.Deque;

Deque<Integer> stack = new ArrayDeque<>();
stack.push(10); // Добавить элемент
int top = stack.pop(); // Извлечь верхний элемент
  1. Реализовать стек самостоятельно с помощью списка:
import java.util.ArrayList;

public class MyStack<T> {
    private ArrayList<T> list = new ArrayList<>();

    public void push(T item) {
        list.add(item);
    }

    public T pop() {
        if (list.isEmpty()) {
            throw new RuntimeException("Stack is empty");
        }
        return list.remove(list.size() - 1);
    }

    public boolean isEmpty() {
        return list.isEmpty();
    }
}

Таким образом, стек можно реализовать либо с помощью готовых классов Java, либо самостоятельно, используя список и методы добавления/удаления с конца коллекции.