![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Добавить в список новый элемент можно как в начало, так и в конец. Захват памяти и формирование информационной части выполняются аналогично предыдущему алгоритму (пп. 1 – 2).
Если элемент добавляется в начало списка, то выполняется следующая последовательность действий:
t -> prev = NULL; // Предыдущего нет
t -> next = begin; // Связываем новый элемент с первым
begin -> prev = t; // Изменяем адрес prev бывшего первого
begin = t; // Переставляем указатель begin на новый
В конец элемент добавляется следующим образом:
t -> next = NULL; // Следующего нет
t -> prev = end; // Связываем новый с последним
end -> next = t; // Изменяем адрес next бывшего последнего
end = t; // Изменяем указатель end
Просмотр списка
Просмотр списка можно выполнять с начала, или с конца списка. Просмотр с начала выполняется так же, как для однонаправленного списка (в функции View () лаб. работы № 2 необходимо изменить структурный тип).
Просмотр списка с конца
1. Устанавливаем текущий указатель на конец списка: t = end;
2. Начало цикла, работающего до тех пор, пока t!= NULL.
3. Информационную часть текущего элемента t -> info выводим на экран.
4. Переставляем текущий указатель на предыдущий элемент, адрес которого находится в поле prev текущего элемента: t = t -> prev;
5. Конец цикла.
Дата публикования: 2015-02-22; Прочитано: 328 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!