
- •РАЗДЕЛ 7.
- •ПРОСТЫЕ ТИПЫ ДАННЫХ
- •Представление целых чисел
- •Представление отрицательных чисел
- •Представление вещественных чисел
- •СВЯЗНЫЕ СПИСКИ
- •Связные списки
- •Соглашения о первом элементе
- •Соглашения о ссылке последнего узла
- •Линейный односвязный список
- •Линейный односвязный список
- •Линейный односвязный список. Вставка в начало списка
- •Линейный односвязный список. Вставка в конец списка
- •Линейный односвязный список. Вставка в середину списка
- •Линейный односвязный список. Удаление из начала списка
- •Линейный односвязный список. Удаление с конца списка
- •Линейный односвязный список. Удаление из середины списка
- •Линейный двусвязный список
- •Линейный двусвязный список
- •Линейный двусвязный список. Вставка в начало списка
- •Линейный двусвязный список. Вставка в конец списка
- •Линейный двусвязный список. Вставка в середину списка
- •Линейный двусвязный список. Удаление из начала списка
- •Линейный двусвязный список. Удаление с конца списка
- •Линейный двусвязный список.
- •Циклический односвязный список
- •Циклический двусвязный список
- •Циклические списки. Операции вставки и удаления
- •АБСТРАКТНЫЕ ТИПЫ ДАННЫХ
- •Абстрактный тип данных
- •Абстрактный тип данных
- •Коллекции абстрактных объектов
- •Абстрактный тип данных «Стек»
- •Абстрактный тип данных «Очередь»
- •Абстрактный тип данных «Дек»

Абстрактный тип данных
•Абстрактный тип данных (АТД) – это тип данных (набор значений и совокупность операций для этих значений), доступ к которому осуществляется только через интерфейс.
•Программу, которая использует АТД будем называть
клиентом
•Программу, которая содержит спецификацию АТД будем называть реализацией

Коллекции абстрактных объектов
•Абстрактный тип данных, представляющий собой коллекцию абстрактных объектов имеющие операции вставки и удаления объектов называется обобщённой очередью

Абстрактный тип данных «Стек»
•Стек – это абстрактный тип данных, который включает две основные операции:
•Вставить или втолкнуть (push) новый элемент
•Удалить или вытолкнуть (pop) элемент, вставленный последним
•Реализация операций вставки и удаления осуществляется в соответствии с правилом «последним пришёл, первым ушёл» (last-in, first-out. LIFO)

Абстрактный тип данных «Очередь»
•Очередь – это абстрактный тип данных, который содержит две базовые операции:
•Вставить или занести (put) новый элемент
•Удалить или извлечь (get) элемент, который был вставлен раньше всех остальных
•Реализация операций вставки и удаления осуществляется в соответствии с правилом «первым пришёл, первым ушёл» (first-in, first-out. FIFO)

Абстрактный тип данных «Дек»
•Дек (double-ended queue, двухсторонняя очередь) – это абстрактный тип данных, в котором вставка и удаление возможны с обеих сторон
•Дек является более абстрактной концепцией, чем стек и очередь – последовательный ряд упорядоченных элементов с базовыми операциями вставки и удаления и вначале списка и в конце
•Если операции вставки и удаления осуществлять с одного конца – получаем стек
•Если операции вставки и удаления осуществлять с противоположных сторон – получаем очередь