Здавалка
Главная | Обратная связь

Формирование двусвязного списка.



  1. Отведем место для указателей в статической памяти и зарезервируем место для динамического объекта.

  1. Присвоим значение переменной ptail, и поместим в информационное поле значение элемента.

  1. Присвоим указателю на предыдущий элемент значение NULL (т. к. элемент первый - предыдущего нет).

  1. Поместим в поле звена адрес еще одного - нового динамического объекта.

  1. В новый добавленный объект записываем значение, в указатель на следующее звено записываем NULL, т. к. объект добавляется в конец.

  1. В указатель на предыдущий элемент записываем адрес предыдущего объекта.

  1. Переменная ptail должна содержать адрес последнего добавленного элемента, т. к. он добавлен в конец.

Двусвязный список из двух элементов готов.

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

  1. Выделить память под новый узел.
  2. Записать в новый узел значение.
  3. В указатель на предыдущий узел записать адрес узла, который должен располагаться перед новым узлом.
  4. Записать в указатель на следующий узел адрес узла, который должен быть расположен после нового узла.
  5. В предыдущем узле заменяем значение указателя на следующий узел на адрес нового узла.
  6. В следующем узле заменяем значение указателя на предыдущий узел на адрес нового узла.

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

  1. Записать адрес узла, следующего за удаляемым узлом, в указатель на следующий узел узла, являющегося предыдущим для удаляемого узла.
  2. Записать адрес узла, являющегося предыдущим для удаляемого, в указатель на предыдущий узел узла, следующего за удаляемым узлом.
  3. Удалить узел, предназначенный для удаления.

Вот и всё - а теперь переходим к следующему разделу урока и рассматриваем пример.

Предыдущая Оглавление Следующая
Предыдущая Оглавление Следующая






©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.