Sobes.tech
Junior — Middle

Πώς μπορεί να δημιουργηθεί μια δομή δεδομένων στοίβα στη γλώσσα Dart;

sobes.tech AI

Απάντηση από AI

Στη Dart, μπορείτε να υλοποιήσετε μια δομή δεδομένων στοίβα χρησιμοποιώντας μια κλάση που χρησιμοποιεί μια λίστα (List) για την αποθήκευση των στοιχείων. Οι βασικές λειτουργίες της στοίβας είναι η προσθήκη (push) και η αφαίρεση (pop) στοιχείων από το τέλος της λίστας.

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

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

  T pop() {
    if (_items.isEmpty) {
      throw StateError('Άδεια στοίβα');
    }
    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
}

Αυτή η κλάση μπορεί να χρησιμοποιηθεί για την αποθήκευση στοιχείων οποιουδήποτε τύπου χάρη στα γενικά (generics).