Содержание
- 2. Некоторые задачи требуют введения структур, способных увеличивать или уменьшать свой размер в процессе работы программы. Основу
- 3. Если для связи элементов в структуре задан указатель (адресное поле) на следующий элемент, то такой список
- 4. Для работы с однонаправленными списками шаблон структуры (структурный тип) будет иметь следующий вид: struct TList1 {
- 5. Схема такого списка может иметь вид: begin – адрес первого элемента в списке; Адресная часть последнего
- 6. Для работы с двунаправленными списками шаблон структуры будет иметь следующий вид: struct TList2 { Информационная часть
- 7. Схема такого списка будет иметь вид: begin и end – адреса первого и последнего элементов в
- 8. Над списками обычно выполняются следующие операции: – начальное формирование списка (создание первого элемента); – добавление нового
- 9. Структура данных СТЕК Стек – упорядоченный набор данных, в ко-тором добавление и удаление элементов производится только
- 10. Графически Стек можно изобразить так: Стек получил свое название из-за схожести с обоймой патронов: когда добавляется
- 11. Число элементов стека не ограничивается. При добавлении элементов в стек память должна динамически выделяться и освобождаться
- 12. Кроме этих обязательных операций используется операция top (peek) для чтения информации в вершине стека без извлечения.
- 13. Алгоритм формирования стека Рассмотрим данный алгоритм для первых двух элементов. 1. Описание типа для структуры, содержащей
- 14. 2. Объявление указателей на структуру (можно объявить в шаблоне глобально): Stack *begin, – Вершина стека *t;
- 15. 5. Ввод информации (обозначим i1); а) формирование информационной части: t -> info = i1; б) формирование
- 16. 6. Вершина стека переносится на созданный первый элемент: begin = t; В результате получается следующее: 7.
- 17. 8. Ввод информации для второго элемента (i2); а) формирование информационной части: t -> info = i2;
- 18. 9. Вершина стека снимается с первого и устанавливается на новый элемент (A2): begin = t; Получается
- 19. Функция формирования элемента стека Простейший вид функции (типа push), в которую передаются указатель на вершину (р)
- 20. Участок программы с обращением к функции InStack для добавления n элементов (исполь-зуем случайные числа) в стек
- 21. Если в функцию InStack указатель на вершину передавать по адресу, то она может иметь следующий вид:
- 22. Просмотр стека (без извлечения) 1. Устанавливаем текущий указатель на вершину t = begin; 2. Проверяем, если
- 23. 4. ИЧ текущего элемента t -> info выводим на экран. 5. Переставляем текущий указатель t на
- 24. Функция, реализующая этот алгоритм: void View (Stack *p) { Stack *t = p; if ( p
- 25. Алгоритм освобождения памяти 1. Начинаем цикл, выполняющийся пока begin не станет равным NULL. 2. Устанавливаем текущий
- 26. Функция, реализующая этот алгоритм, может иметь следующий вид: void Del_All ( Stack **p ) { Stack
- 27. Параметром данной функции является указатель на указатель, т.е. в функцию передаем адрес указателя на вершину стека
- 28. Эту функцию можно реализовать и иначе: Stack* Del_All ( Stack *p ) { Stack *t; while
- 29. В данном случае в функцию передаем указатель на вершину стека, а его измененное значение, равное NULL,
- 30. Алгоритм получения информации из вершины стека c извлечением 1. Устанавливаем текущий указатель t на вершину t
- 31. Функция (типа pop), в которую передаются вершина (р) и адрес переменной out для интересующей нас информации,
- 32. Обращение к этой функции: begin = OutStack ( begin, &out ); Необходимая нам информация out (в
- 33. int OutStack ( Stack **p ) { int out ; Stack *t = *p; out =
- 34. Рассмотрим примеры удаления из стека элементов, кратных 5. Текст функции удаления непосредственно из стека может иметь
- 35. Stack* Del_5(Stack *b) { b = InStack (b, 21); // Добавляем любое число Stack *p =
- 36. else { p = t; t = t -> next; } } t = b; //
- 37. Указатель на вершину стека передаем в функцию, а его измененное значение, возвращаем из функции в точку
- 38. Stack* Del_5_mas (Stack *b) { int n = 0, *a, i, m; Stack *t = b;
- 39. a = new int[n]; // Создаем динамический массив // Извлекаем все элементы из стека в массив
- 40. /* Создаем стек снова – переписываем в него элементы, оставшиеся в массиве: */ for ( i
- 41. И в этом случае в функцию передаем указатель на вершину стека, а его измененное значение, возвращаем
- 42. Stack* New_Stack_5 (Stack *b) { int inf; Stack *new_b = NULL; while (b != NULL) {
- 43. Обращение к функции: begin = New_Stack_5 ( begin ); Линейный поиск нужной информации в стеке может
- 44. int Poisk (Stack *p) { int k = 0; Stack *t = p; while( t !=
- 46. Скачать презентацию





































![a = new int[n]; // Создаем динамический массив // Извлекаем все элементы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/948067/slide-38.jpg)





Как мы познаем окружающий мир
Какие из данных функций будут пересекаться на заданном интервале: cos(x), tg(x), sin(x) на интервале [a;b]
Классификация компьютерных объектов
Компьютерное проектирование - 6
Модуль CRT
Электронные таблицы
Презентация на тему Решение логических задач с помощью таблиц (6 класс)
Как комфортно общаться в социальных сетях
Теория игр. Аналитическая работа по статье Croson “Gender and Culture”
Электронная почта
Создание программы для проверки возможности описания окружности вокруг выпуклого четырехугольника
Технологии программирования. Объектно-ориентированные языки программирования. Основные конструкции языка программирования С++
Платформа РКИ. Новый образовательный ресурс для преподавателей и иностранных студентов
Слухи как средство манипулирования
Использование ИКТ для повышения интереса детей к проектной деятельности и здоровому образу жизни
Элементный состав объекта. 4 класс
Презентация на тему Что то у них с памятью стало...
Программы-процедуры. Правила описания и использования программ-процедур.10 класс
Постановка задач и образец - на бумаге
СМИ в жизни человека. Анкетирование
Этапы проектирования базы данных. Лекция 2
Контур. Бухгалтерия. Бюджет
Разработка и анализ информационной системы безопасности для систем управления производством
Телеканал РБК
Условия эксплуатации и требования к ЭВМ
Машинный перевод
The third eye. To‘ldirilgan voqelik
Модульное тестирование