Sobes.tech
Junior — Middle

Como criar uma estrutura de dados pilha na linguagem Dart?

sobes.tech IA

Resposta da IA

Em Dart, pode implementar uma estrutura de dados pilha usando uma classe que utiliza uma lista (List) para armazenar os elementos. As operações principais da pilha são adicionar (push) e remover (pop) elementos do final da lista.

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

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

  T pop() {
    if (_items.isEmpty) {
      throw StateError('Pilha vazia');
    }
    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
}

Esta classe pode ser usada para armazenar elementos de qualquer tipo graças aos genéricos.