Sobes.tech
Junior — Middle

Dart tilida stek ma'lumotlar tuzilmasini qanday yaratish mumkin?

sobes.tech AI

AIdan javob

Dartda, elementlarni saqlash uchun ro'yxat (List) yordamida stek (stack) ma'lumotlar tuzilmasini amalga oshirish mumkin. Stekning asosiy operatsiyalari - elementlarni qo'shish (push) va oxiridan o'chirish (pop).

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

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

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

Ushbu sinf, generiklar yordamida har qanday turdagi elementlarni saqlash uchun ishlatilishi mumkin.