Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 6.Реализуйте структуру данных "Стек" на языке программирования по вашему выбору. Необходимо реализовать создание пустого стека, удаление элемента, отображение всех элементов стека. Желательно использовать ООП.
- void main() {
- final stack = MyStackImpl<int>();
- for (var i = 0; i < 10; i++) {
- stack.add(i + 1);
- }
- print('Stack elements: ${stack.elements}');
- while (stack.elements.isNotEmpty) {
- print('Deleted element: ${stack.delete()}');
- }
- print('Stack elements after deletion: ${stack.elements}');
- }
- abstract class MyStack<StackElement> {
- void add(StackElement element);
- StackElement? delete();
- List<StackElement> get elements;
- }
- final class MyStackImpl<StackElement> implements MyStack<StackElement> {
- final List<StackElement> _elements = [];
- @override
- void add(StackElement element) {
- _elements.add(element);
- }
- @override
- StackElement? delete() {
- if (_elements.isNotEmpty) {
- return _elements.removeLast();
- }
- return null;
- }
- @override
- List<StackElement> get elements => _elements;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement