СПИСКИ
План лекции
Списки
Списки
Классификация списков
Односвязные списки
Односвязные списки – операции
Односвязные списки в языке Си
Односвязные списки – вставка элемента
Односвязные списки – вставка элемента
Односвязные списки – вставка элемента
Односвязные списки – удаление элемента
Односвязные списки – удаление элемента
Поиск значения в списке int find(const List *L, const T *ptr. Val) { ptr. Element p = L->front; while (p != NULL) { if (p->value == *ptr. Val) return 1; p = p->next; } return 0; } // Перепишите с помощью for
Циклические односвязные списки
Двусвязные списки
Двусвязные списки
Двусвязные списки – операции
Двусвязные списки в языке Си
Удаление элемента после элемента по адресу pos ptr. Element 2 p = pos->next; pos->next->prev = pos; // (1) pos->next = p -> next; // (2) free(p);
Вставка элемента после элемента с адресом pos
Иерархические списки -- это списки, значениями элементов которых являются указатели на другие списки (вложенные списки).
Операции над линейными списками
Типы данных на основе списков
Стек
Операции работы со стеком
Стек – другие названия
Аппаратный стек вызова функций
Виды записи выражений
Перевод из инфиксной формы в постфиксную
Алгоритм перевода в постфиксную запись
Пример
Вычисления на стеке
Пример
Заключение