Содержание
- 2. Указатель – переменная, которая хранит адрес другой переменной (адрес памяти). Аналогия с указателями у дороги –
- 3. Операции над указателями Две основные операции над указателями: присваивание и разыменование. Присваивание Для присваивания указателю некоторого
- 4. Операции: ++, --, + и – Пример. Пусть p – указатель на int переменную с адресом
- 5. Структуры данных Структура данных – это форма хранения и представления информации. Структуры данных бывают простыми и
- 6. Классификация сложных структур данных Линейные Массив Список Стек Очередь Хэш-таблица Иерархические Двоичные деревья N-арные деревья Иерархический
- 7. Динамические структуры данных Основным свойством динамических структур является отсутствие физической смежности элементов структуры в памяти и
- 8. Последовательности Деревья Сети Вектор Стек Дек Бинарные Сортированные бинарные Динамические линейные структуры: 1. Очередь – структура
- 9. Линейные структуры данных Массив – это линейная структура однотипных данных, занимающих непрерывное пространство в памяти машины.
- 10. Массив – набор элементов одинакового типа расположенных в памяти подряд (друг за другом) обращение происходит с
- 11. Статическими называют массивы, размер которых в программе определён и не может меняться. тип имя_массива[размер-константа]; int A[4];
- 12. Указатель можно рассматривать как динамический массив. С помощью операторов new/delete можно выделять/освобождать память для динамического массива.
- 13. Операторы выделения и освобождения памяти new тип[размер] возвращает адрес непрерывного участка памяти для объекта типа тип
- 14. Указатели могут храниться в массивах. Массивы указателей // Объявление динамического 5-элементного // массива указателей на int.
- 15. В предыдущем примере – фактически получили двумерный массив с размерами: 1 2 3 4 5 Двумерный
- 16. Массивы указателей Выделение и освобождение памяти. Динамический двумерный массив. // выделять память нужно так int **arr;
- 17. Утечки памяти Если не освобождать память, то может остаться «мусор» - фактически занятые на время выполнения
- 18. Линейные структуры данных Список – совокупность элементов типа структура, расположенных в произвольных местах памяти, связанных друг
- 19. Линейный односвязный Кольцевой односвязный Линейный двусвязный Кольцевой двусвязный Сетевой n-связный Виды списков /26
- 20. struct list { int val; list *next;} Операции: int data; list * plist; list* push(list* ,int);
- 21. Однонаправленный список. Добавление узла Для добавления узлов достаточно изменить значения адресных полей. Вставка первого и последующих
- 22. Однонаправленный список. Удаление узла После удаления указатель текущего элемента устанавливается на предшествующий элемент списка или на
- 23. Стек и очередь Стек – это динамическая линейная структура данных, для которой определены всего две операции
- 24. Кольцевой связный список Может быть односвязным или двусвязным. Последний элемент кольцевого списка содержит указатель на первый,
- 25. XOR-связный список В каждом элементе хранится только один адрес — результат выполнения операции XOR над адресами
- 27. Скачать презентацию