Содержание
- 2. Динамические структуры данных Строение: набор узлов, объединенных с помощью ссылок. Как устроен узел: Типы структур: списки
- 3. Когда нужны списки? Задача (алфавитно-частотный словарь). В файле записан текст. Нужно записать в другой файл в
- 4. Что такое список: пустая структура – это список; список – это начальный узел (голова) и связанный
- 5. Что нужно уметь делать со списком? Создать новый узел. Добавить узел: в начало списка; в конец
- 6. Создание узла PNode CreateNode ( char NewWord[] ) { PNode NewNode = new Node; strcpy(NewNode->word, NewWord);
- 7. Добавление узла в начало списка 1) Установить ссылку нового узла на голову списка: NewNode->next = Head;
- 8. Добавление узла после заданного 1) Установить ссылку нового узла на узел, следующий за p: NewNode->next =
- 9. Задача: сделать что-нибудь хорошее с каждым элементом списка. Алгоритм: установить вспомогательный указатель q на голову списка;
- 10. Добавление узла в конец списка Задача: добавить новый узел в конец списка. Алгоритм: найти последний узел
- 11. Проблема: нужно знать адрес предыдущего узла, а идти назад нельзя! Решение: найти предыдущий узел q (проход
- 12. Добавление узла перед заданным (II) Задача: вставить узел перед заданным без поиска предыдущего. Алгоритм: поменять местами
- 13. Поиск слова в списке Задача: найти в списке заданное слово или определить, что его нет. Функция
- 14. Куда вставить новое слово? Задача: найти узел, перед которым нужно вставить, заданное слово, так чтобы в
- 15. Удаление узла void DeleteNode ( PNode &Head, PNode p ) { PNode q = Head; if
- 16. Алфавитно-частотный словарь Алгоритм: открыть файл на чтение; прочитать слово: если файл закончился (n!=1), то перейти к
- 17. Двусвязные списки Структура узла: struct Node { char word[40]; // слово int count; // счетчик повторений
- 18. Тема 5. Стеки, очереди, деки Динамические структуры данных (язык Си)
- 19. Стек Стек – это линейная структура данных, в которой добавление и удаление элементов возможно только с
- 20. Пример задачи Задача: вводится символьная строка, в которой записано выражение со скобками трех типов: [], {}
- 21. Решение задачи со скобками Алгоритм: в начале стек пуст; в цикле просматриваем все символы строки по
- 22. Реализация стека (массив) Структура-стек: const MAXSIZE = 100; struct Stack { char data[MAXSIZE]; // стек на
- 23. Реализация стека (массив) char Pop ( Stack &S ) { if ( S.size == 0 )
- 24. Программа void main() { char br1[3] = { '(', '[', '{' }; char br2[3] = {
- 25. Обработка строки (основной цикл) for ( i = 0; i { for ( k = 0;
- 26. Реализация стека (список) Добавление элемента: Структура узла: struct Node { char data; Node *next; }; typedef
- 27. Реализация стека (список) Снятие элемента с вершины: char Pop (PNode &Head) { char x; PNode q
- 28. Вычисление арифметических выражений a b + c d + 1 - / Как вычислять автоматически: Инфиксная
- 29. Запишите в постфиксной форме (32*6-5)*(2*3+4)/(3+7*2) (2*4+3*5)*(2*3+18/3*2)*(12-3) (4-2*3)*(3-12/3/4)*(24-3*12)
- 30. Вычисление выражений Постфиксная форма: a b + c d + 1 - / Алгоритм: взять очередной
- 31. Системный стек (Windows – 1 Мб) Используется для размещения локальных переменных; хранения адресов возврата (по которым
- 32. Очередь Очередь – это линейная структура данных, в которой добавление элементов возможно только с одного конца
- 33. Реализация очереди (массив) самый простой способ нужно заранее выделить массив; при выборке из очереди нужно сдвигать
- 34. Реализация очереди (кольцевой массив)
- 35. Реализация очереди (кольцевой массив) В очереди 1 элемент: Очередь пуста: Очередь полна: Head == Tail +
- 36. Реализация очереди (кольцевой массив) const MAXSIZE = 100; struct Queue { int data[MAXSIZE]; int head, tail;
- 37. Реализация очереди (кольцевой массив) Выборка из очереди: int Pop ( Queue &Q ) { int temp;
- 38. Реализация очереди (списки) struct Node { int data; Node *next; }; typedef Node *PNode; struct Queue
- 39. Реализация очереди (списки) void PushTail ( Queue &Q, int x ) { PNode NewNode; NewNode =
- 40. Реализация очереди (списки) int Pop ( Queue &Q ) { PNode top = Q.Head; int x;
- 42. Скачать презентацию




![Создание узла PNode CreateNode ( char NewWord[] ) { PNode NewNode =](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/838949/slide-5.jpg)










![Двусвязные списки Структура узла: struct Node { char word[40]; // слово int](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/838949/slide-16.jpg)






![Программа void main() { char br1[3] = { '(', '[', '{' };](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/838949/slide-23.jpg)
















Профессия - экокомпьютерщик
Автоматизированная обработка естественного языка
Работа в Photoshop. Из фото в плакат. Задание 4
меняем цвет выделенной области
О языках программирования
Транспортування сигнальної інформації в мережах IP
Телеканал НТВ
Нормализация данных в IDEF1X
VR в промышленности
Использование интерактивных систем на курсах повышения квалификации по ИКТ
Способы записи алгоритмов
Тестирование информационных систем
Поиск записей в табличной базе данных с помощью фильтров
191588
Информационно-аналитическая система Грузоперевозки ИП Василевская
Программирование на языке С++
Организация эксплуатации волоконно-оптических систем передач
Презентация на тему Информация
Разработка программного обеспечения автоматизираванного рабочего места специалиста отдела продаж ОАО Лидские Пищевые Концетраты
Голос без границ
Векторная графика. Растровая графика
Текстовый редактор
Алгебра логики
Порядок размещения информации в разделе правовое информирование на официальных сайтах территориальных органов МВД России
1_kompyuter_Charlza_bebbidzha
Арт-студия. Тест возможности редактора Paint
Программирование специализированных вычислительных устройств
Объектно-ориентированное программирование. Наследование