Sobes.tech
Junior — Middle

Jak można utworzyć strukturę danych stosu w języku Dart?

sobes.tech AI

Odpowiedź od AI

W Dart można zaimplementować strukturę danych stosu za pomocą klasy, korzystając z listy (List) do przechowywania elementów. Główne operacje stosu to dodawanie (push) i usuwanie (pop) elementów z końca listy.

class Stack<T> {
  final List<T> _items = [];

  void push(T item) {
    _items.add(item);
  }

  T pop() {
    if (_items.isEmpty) {
      throw StateError('Stos jest pusty');
    }
    return _items.removeLast();
  }

  bool get isEmpty => _items.isEmpty;

  int get length => _items.length;
}

void main() {
  var stack = Stack<int>();
  stack.push(10);
  stack.push(20);
  print(stack.pop()); // 20
  print(stack.pop()); // 10
}

Ta klasa może być używana do przechowywania elementów dowolnego typu dzięki generykom.