Слайд 2

Двунаправленные списки

struct имя_типа {
информационное поле;
адресное поле 1;
адресное поле 2;

Двунаправленные списки struct имя_типа { информационное поле; адресное поле 1; адресное поле
};

struct list {
type elem ;
list *next, *prev ;
}

Слайд 3

Создание списка

1. Создание структуры
struct List2
{
int d;
List2 *prev; // указатель

Создание списка 1. Создание структуры struct List2 { int d; List2 *prev;
на предшествующий элемент
List2 *next; // указатель на последующий элемент
};
2. Создание двух указателей:
List2 *Begin = NULL; // Начало списка
List2 *End = NULL; // Конец списка

Слайд 4

Создание 1-го элемента списка

3. Создание первого элемента
List2 *t = new List2;
t->d.a =

Создание 1-го элемента списка 3. Создание первого элемента List2 *t = new
3;
t->prev = NULL;
t->next = NULL;
// Установка обоих указателей на первый элемент
Begin = t;
End = t;

Слайд 5

Создание 2-го и 3-го элементов списка

Создание 2-го и 3-го элементов списка

Слайд 6

Вставка и удаление элемента из двусвязного списка

Вставка и удаление элемента из двусвязного списка

Слайд 7

Кольцевые (циклические) списки

Кольцевые (циклические) списки

Слайд 8

Стек

Стек

Слайд 9

Очередь

Очередь