Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Дважды связные списки

Методические рекомендации по изучению дисциплины | ПОЯСНИТЕЛЬНАЯ ЗАПИСКА | ИНДИВИДУАЛЬНЫЕ ПРАКТИЧЕСКИЕ РАБОТЫ, ИХ ХАРАКТЕРИСТИКА | Типы данных, абстрактные типы и структуры данных | Классификация структур данных | Представление типов данных и операции над ними в языке Pascal | Указатели | Открытое хеширование | Закрытое хеширование | Полустатические и динамические структуры данных |


Читайте также:
  1. Quot;ДВАЖДЫ ДВА" .___________
  2. Глава вторая. Описание острова Тортуги, растений и плодов. Как там очутились французы и дважды были изгнаны испанцами. А также о том, как автор был там трижды продан
  3. За бессмертные подвиги занесены навечно в списки частей авиации Военно-Морского Флота
  4. Обсудите друг с другом ваши списки.
  5. Примерные списки литературы для чтения детям
  6. Связанные списки.

 

Иногда возникает необходимость организовать эффективное перемещение по списку, как в прямом, так и в обратном направлениях; или по заданному элементу нужно быстро найти предшествующий ему и последующий элементы. В этих ситуациях можно дать каждой ячейке указатели и на следующие и на предыдущие ячейки списка, т.е. организовать дважды связный список. На рис. 10 приведен такой список.

 

Рис. 10 – Дважды связный список

 

Важным преимуществом является то, что можно использовать указатель ячейки, содержащей i -й элемент, для определения i -й позиции вместо использования указателя предшествующей ячейки. Однако при этом появляются дополнительные указатели и, следовательно, удлиняются некоторые процедуры. Ниже приведен код объявления дважды связного списка.

 

На рис. 11 приведены процедура и схема удаления элемента из дважды связного списка. Ниже приведена процедура удаления.

 

Рис. 11 – Удаление элемента из дважды связного списка

 

Здесь предполагается, что удаляемая ячейка не является ни первой, ни последней в списке. Сплошными линиями показаны указатели до удаления, а пунктирными – после удаления элемента. Сначала с помощью указателя поля previous определяется положение предыдущей ячейки. Затем в поле next этой ячейки устанавливается указатель на ячейку, предшествующую позиции р. Таким образом, ячейка в позиции р исключается из цепочек указателей и при необходимости может быть использована повторно.

 


Дата добавления: 2015-07-16; просмотров: 85 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Сравнение различных реализаций списков| Реализация очереди с помощью указателей

mybiblioteka.su - 2015-2024 год. (0.006 сек.)