Similar presentations:
Очереди, стеки, дженерики
1.
ОЧЕРЕДИ, СТЕКИ,ДЖЕНЕРИКИ
2.
ОПРЕДЕЛЕНИЕ ДЖЕНЕРИКОВДженерики (обобщения) – инструмент языка,
позволяющий решить проблему жесткой типизации
(определения типов) данных.
2
3.
ПРИМЕР ИСПОЛЬЗОВАНИЯПусть имеется класс
следующим образом.
3
Person,
который
определен
4.
Однако для идентификатора (Id) может использоваться истроковое значение. На момент создания класса можно точно не
знать, что лучше выбрать для хранения Id - строку или число.
Для решения проблемы можно использовать тип object.
4
5.
Проблема при работе с типом object заключается в том, чтоприходится сталкиваться с такими явлениями как упаковка
(boxing) и распаковка (unboxing), которые приводят к снижению
производительности и могут вызвать
проблему безопасности
типов.
Решением
является
использование
обобщенного
(универсального) типа
5
6.
67.
ОПРЕДЕЛЕНИЕ ОЧЕРЕДИОчередь (queue) – это структура данных, которая
работает по принципу FIFO (First In First Out - Первый
пришел, первый вышел).
При добавлении новый элемент помещается в конец
очереди или ее хвост, а удаление идет с начала очереди
или головы.
7
8.
РЕАЛИЗАЦИЯ ОЧЕРЕДИ8
9.
!Enqueue (добавить) и Dequeue(удалить) - основные методы при работе сочередью.
9
10.
1011.
ОПРЕДЕЛЕНИЕ СТЕКАСтек (stack) – структура данных, которая работает по
принципу LIFO (Last In FIrst Out - Последний пришел,
первый вышел).
11
12.
РЕАЛИЗАЦИЯ СТЕКА12
13.
!Push (добавить) и Pop (удалить) - основные методы при работе со стеком.13
14.
1415.
МАТЕРИАЛЫ ДЛЯ ИЗУЧЕНИЯ1. Очередь (https://metanit.com/sharp/algoritm/2.5.php)
2. Стек (https://metanit.com/sharp/algoritm/2.3.php
3. https://metanit.com/sharp/algoritm/2.4.php)
4. Дженерики (https://metanit.com/sharp/tutorial/3.12.php)
15
16.
СПАСИБО ЗА ВНИМАНИЕ!16