Формирование двусвязного списка.
- Отведем место для указателей в статической памяти и зарезервируем место для динамического объекта.
- Присвоим значение переменной ptail, и поместим в информационное поле значение элемента.
- Присвоим указателю на предыдущий элемент значение NULL (т. к. элемент первый - предыдущего нет).
- Поместим в поле звена адрес еще одного - нового динамического объекта.
- В новый добавленный объект записываем значение, в указатель на следующее звено записываем NULL, т. к. объект добавляется в конец.
- В указатель на предыдущий элемент записываем адрес предыдущего объекта.
- Переменная ptail должна содержать адрес последнего добавленного элемента, т. к. он добавлен в конец.
Двусвязный список из двух элементов готов.
Вставка элемента в двусвязный список.
- Выделить память под новый узел.
- Записать в новый узел значение.
- В указатель на предыдущий узел записать адрес узла, который должен располагаться перед новым узлом.
- Записать в указатель на следующий узел адрес узла, который должен быть расположен после нового узла.
- В предыдущем узле заменяем значение указателя на следующий узел на адрес нового узла.
- В следующем узле заменяем значение указателя на предыдущий узел на адрес нового узла.
Удаление элемента из двусвязного списка.
- Записать адрес узла, следующего за удаляемым узлом, в указатель на следующий узел узла, являющегося предыдущим для удаляемого узла.
- Записать адрес узла, являющегося предыдущим для удаляемого, в указатель на предыдущий узел узла, следующего за удаляемым узлом.
- Удалить узел, предназначенный для удаления.
Вот и всё - а теперь переходим к следующему разделу урока и рассматриваем пример.
Предыдущая
| Оглавление
| Следующая
| Предыдущая
| Оглавление
| Следующая
|
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|