рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Машинное представление связных линейных списков

Машинное представление связных линейных списков - раздел Образование, ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ. СВЯЗНЫЕ СПИСКИ На Рис. 5.1 Приведена Структура Односвязного Списка. На Нем Поле Inf...

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

поле INF - информационное поле, данные, NEXT - указатель на сле-

дующий элемент списка. Каждый список должен иметь особый элемент,

называемый указателем начала списка или головой списка, который

обычно по формату отличен от остальных элементов. В поле указате-

ля последнего элемента списка находится специальный признак nil,

свидетельствующий о конце списка.

 

┌─────────────┬─┐ ┌────┬────┐ ┌────┬────┐ ┌────┬────┐

│голова списка│ ┼──>│INF │NEXT┼────>│INF │NEXT┼──>│INF │nil │

└─────────────┴─┘ └────┴────┘ ... └────┴────┘ └────┴────┘

Рис.5.1. Структура односвязного списка

Однако, обработка односвязного списка не всегда удобна, так

как отсутствует возможность продвижения в противоположную сторо-

ну. Такую возможность обеспечивает двухсвязный список, каждый

элемент которого содержит два указателя: на следующий и предыду-

щий элементы списка. Структура линейного двухсвязного списка при-

ведена на рис. 5.2, где поле NEXT - указатель на следующий эле-

мент, поле PREV - указатель на предыдущий элемент. В крайних эле-

ментах соответствующие указатели должны содержать nil, как и по-

казано на рис. 5.2.

Для удобства обработки списка добавляют еще один особый эле-

мент - указатель конца списка. Наличие двух указателей в каждом

элементе усложняет список и приводит к дополнительным затратам

памяти, но в то же время обеспечивает более эффективное выполне-

ние некоторых операций над списком.

┌─┬─────────────┐ ┌───────────────┬─┐

│ │голова списка│ │указатель конца│ │

└┼┴─────────────┘ └───────────────┴┼┘

│ ┌────┬───┬────┐ ┌────┬───┬────┐ └─>┌────┬───┬────┐

└>│ │ │ ─┼────>│ │ │ ─┼───>│ │ │ │

│nil │INF│NEXT│ │PREV│INF│NEXT│ │PREV│INF│ nil│

│ │ │ │<────┼─ │ │ │<───┼─ │ │ │

└────┴───┴────┘ ... └────┴───┴────┘ └────┴───┴────┘

Рис.5.2. Структура двухсвязного списка

Разновидностью рассмотренных видов линейных списков является

кольцевой список, который может быть организован на основе как

односвязного, так и двухсвязного списков. При этом в односвязном

списке указатель последнего элемента должен указывать на первый

элемент; в двухсвязном списке в первом и последнем элементах со-

ответствующие указатели переопределяются, как показано на

рис.5.3.

При работе с такими списками несколько упрощаются некоторые

процедуры, выполняемые над списком. Однако, при просмотре такого

списка следует принять некоторых мер предосторожности, чтобы не

попасть в бесконечный цикл.

┌─┬─────────────┐

│ │голова списка│

└┼┴─────────────┘ ┌────────────────┐

┌───┘ │ │

└>┌────┬───┬────┐ ┌────┬───┬────┐ └>┌────┬───┬────┐│

┌>│ │ │ ─┼─> ─>│ │ │ ─┼───>│ │ │ ─┼┼┐

│ │PREV│INF│NEXT│ ... │PREV│INF│NEXT│ │PREV│INF│NEXT│││

│┌┼─ │ │ │<─ <─┼─ │ │ │<───┼─ │ │ │││

││└────┴───┴────┘ └────┴───┴────┘ └────┴───┴────┘││

│└──────────────────────────────────────────────────────────┘│

└────────────────────────────────────────────────────────────┘

Рис.5.3. Структура кольцевого двухсвязного списка

В памяти список представляет собой совокупность дескриптора

и одинаковых по размеру и формату записей,

размещенных произвольно в некоторой области памяти и связанных

друг с другом в линейно упорядоченную цепочку с помощью указате-

лей. Запись содержит информационные поля и поля ука-

зателей на соседние элементы списка, причем некоторыми полями ин-

формационной части могут быть указатели на блоки памяти с

дополнительной информацией, относящейся к элементу списка. Деск-

риптор списка реализуется в виде особой записи и содержит такую

информацию о списке, как адрес начала списка, код структуры, имя

списка, текущее число элементов в списке, описание элемента и

т.д., и т.п. Дескриптор может находиться в той же области памяти,

в которой располагаются элементы списка, или для него выделяется

какое-нибудь другое место.

– Конец работы –

Эта тема принадлежит разделу:

ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ. СВЯЗНЫЕ СПИСКИ

ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ СВЯЗНЫЕ СПИСКИ Связное представление данных в... Нелинейные разветвленные... Основные понятия...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Машинное представление связных линейных списков

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Связное представление данных в памяти
Динамические структуры по определению характеризуются от- сутствием физической смежности элементов структуры в памяти не- постоянством и непредсказуемостью размера (числа элементо

Связные линейные списки
Списком называется упорядоченное множество, состоящее из пе- ременного числа элементов, к которым применимы операции включе- ния, исключения. Список, отражающий отношения соседств

Реализация операций над связными линейными списками
Ниже рассматриваются некоторые простые операции над линейны- ми списками. Выполнение операций иллюстрируется в общем случае рисунками со схемами изменения связей и программными пр

Применение линейных списков
Линейные списки находят широкое применение в приложениях, где непредсказуемы требования на размер памяти, необходимой для хра- нения данных; большое число сложных операций над дан

Мультисписки
В программных системах, обрабатывающих объекты сложной структуры, могут решаться разные подзадачи, каждая из которых требует, возможно, обработки не всего множества объектов, а ли

Представление списковых структур в памяти.
В соответствии со схематичным изображением разветвленных списков типичная структура элемента такого списка в памяти должна быть такой, как показано на рис.5.14. ┌&#

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги