Advertisement
ForestFox

госы_стек_dart

Jun 1st, 2025
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Dart 1.25 KB | None | 0 0
  1. // 6.Реализуйте структуру данных "Стек" на языке программирования по вашему выбору. Необходимо реализовать создание пустого стека, удаление элемента, отображение всех элементов стека. Желательно использовать ООП.
  2. void main() {
  3.   final stack = MyStackImpl<int>();
  4.  
  5.   for (var i = 0; i < 10; i++) {
  6.     stack.add(i + 1);
  7.   }
  8.  
  9.   print('Stack elements: ${stack.elements}');
  10.  
  11.   while (stack.elements.isNotEmpty) {
  12.     print('Deleted element: ${stack.delete()}');
  13.   }
  14.  
  15.   print('Stack elements after deletion: ${stack.elements}');
  16. }
  17.  
  18. abstract class MyStack<StackElement> {
  19.   void add(StackElement element);
  20.  
  21.   StackElement? delete();
  22.  
  23.   List<StackElement> get elements;
  24. }
  25.  
  26. final class MyStackImpl<StackElement> implements MyStack<StackElement> {
  27.   final List<StackElement> _elements = [];
  28.  
  29.   @override
  30.   void add(StackElement element) {
  31.     _elements.add(element);
  32.   }
  33.  
  34.   @override
  35.   StackElement? delete() {
  36.     if (_elements.isNotEmpty) {
  37.       return _elements.removeLast();
  38.     }
  39.     return null;
  40.   }
  41.  
  42.   @override
  43.   List<StackElement> get elements => _elements;
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement