Содержание
- 2. Списки Список — структура данных, представляющая собой конечную последовательность связанных элементов. Элемент списка: Семинар 10. Стеки,
- 3. Односвязные списки Односвязный список — список, у элементов которого существует связь, указывающая на следующий элемент (односторонняя
- 4. Односвязные списки struct list { int data; struct list *next; }; struct list *head = NULL,
- 5. Циклические списки Циклический список — список, в котором связь указывает на первый или один из других
- 6. Двусвязные списки Двусвязный список — список, элементы которого имеют по две связи, указывающие на предыдущий и
- 7. Двусвязные списки struct List { int data; struct list *prev; struct list *next; }; Семинар 10.
- 8. Иерархические списки Иерархический список — список, значениями элементов которого являются указатели на другие списки (подсписки). Семинар
- 9. Операции над линейными списками 1. Получить доступ к некоторому элементу списка, проанализировать и / или изменить
- 10. Операции над линейными списками Не все операции нужны одновременно. Будем различать типы линейных списков по набору
- 11. Стек Стек (от англ. stack — штабель, стопка) — линейный список, в котором все вставки, удаления
- 12. Очередь Очередь (англ. queue) — это линейный список, в котором все вставки производятся на одном конце,
- 13. Дек Дек (от англ. deque — double-ended queue — двусторонняя очередь) — это линейный список, в
- 14. Стеки Push-down список Реверсивная память Гнездовая память Магазин LIFO: last in first out Список йо-йо Семинар
- 15. Операции со стеками 1. Опустошение. 2. Создание. 3. Получение значения вершины без удаления. 4. Получение значения
- 16. Реализация стека на Си struct list { int data; struct list *next; }; typedef struct stack
- 17. Опустошение стека void makenull(Stack *S) { struct list *p; while (S -> top) { p =
- 18. Создание стека Stack *create() { Stack *S; S = (Stack *) malloc(sizeof(Stack)); S -> top =
- 19. Получение значения вершины без удаления int top(Stack *S) { if (S -> top) return (S ->
- 20. Получение значения вершины c удалением int pop(Stack *S) { int a; struct list *p; p =
- 21. Добавление нового элемента void push(int a, Stack *S) { struct list *p; p = (struct list
- 22. Проверка пустоты int empty(Stack *S) { return (S -> top == NULL); } Семинар 10. Стеки,
- 23. Виды записи выражений Префиксная: операция перед операндами. Инфиксная (скобочная): операция между операндами. Постфиксная (обратная польская): операция
- 24. Виды записи выражений a + (f – b * c / (z – x) + y)
- 25. Перевод из инфиксной формы в постфиксную Вход: строка, содержащая арифметическое выражение, записанное в инфиксной форме. Выход:
- 26. Перевод из инфиксной формы в постфиксную Алгоритм: Шаг 0: Взять первый элемент из входной строки и
- 27. Пример Входная строка: a + ( f – b * c / ( z – x
- 28. Вычисления на стеке Вход: строка, содержащая выражение, записанное в постфиксной форме. Выход: число — значение заданного
- 29. Пример Входная строка: 5 2 3 * 4 2 / − 4 / + 1 −
- 30. Очереди FIFO: first in first out Семинар 10. Стеки, очереди, деки
- 31. Операции с очередями 1. Опустошение. 2. Создание. 3. Получение значения начала без удаления. 4. Получение значения
- 32. Реализация очереди на Си struct list { int data; struct list *next; }; typedef struct queue
- 33. Опустошение очереди void makenull(Queue *Q) { struct list *p; while (Q -> first) { p =
- 34. Создание очереди Queue *create() { Queue *Q; Q = (Queue *) malloc(sizeof(Queue)); Q -> first =
- 35. Получение значения начала без удаления int first(Queue *Q) { if (Q -> first) return (Q ->
- 36. Получение значения начала c удалением int outqueue(Queue *Q) { int a; struct list *p; p =
- 37. Добавление нового элемента void inqueue(int a, Queue *Q) { struct list *p; p = (struct list
- 39. Скачать презентацию




































Каналы размещения контента
Обратные действия. 2 класс
Парсер командной строки
Архитектура ORACLE. Установление соединения по сети
Создание рисунков средствами MS Office Powerpoint
Как стать любимым тестировщиком у разработчика. Повышение качества взаимодействия программиста и тестировщика
Виды алгоритмов
Онлайн-игра от Додо Пицца
Создание интернет-площадок и рекламы
Розробка та дослідження узагальненої моделі оптимального розвитку виробничих систем на базі методології оптимального агрегування
Особенности тестирования десктопных приложений
Презентация на тему Правила техники безопасности и правила поведения в компьютерном классе
Выбор книги в библиотеке. 3 класс
Урок 2
Виды компьютеров
Работа в GameDev. Знакомство. Введение
Тест. Глобальная технология
Сравнение операционных систем Windows и Linux
Модульное программирование
Разработка компьютерной программы, обучающей умениям оценивания диагностируемости систем управления
Модуль 1. Практическое занятие 2. Переменные арифметических типов, тернарная операция, приведение типов
What’s new in InventorCAM 2015
Memory game
Проект Rolling Sky. Знакомство
Введение. Скрипты
Информация для регистрации на mos.ru
Подача заявлений в 1 класс на портале АИС Е-услуги. Образование
Знаковые информационные модели