Составители:
Рубрика:
Info Next
Info Next
а
Рис. 1.2. Изображения: а - отдельного звена списка;
б - пустой ссылки; в - последнего звена в списке
Рис. 1.3. Пример изображения Л1-списка
На Паскале такое цепное представление списка может быть реализовано,
например [xx], с использованием ссылочных переменных. Соответствующие
типы данных можно описать в виде
type
El = ... ; { базовый тип для элементов списка }
Link = ^Node; { ссылка на звено в цепи }
Node = record { звено цепи ( списка ) : }
Info : El; { содержимое (элемент списка) }
Next : Link ; { ссылка на следующее звено }
end {Node} ;
Длина списка в этом случае ограничивается только размерами доступной
динамической памяти, в которой размещаются элементы списка (звенья цепи),
связанные ссылками.
Для работы со списком удобно описать дополнительную переменную типа
Link (например, var s : Link) и использовать ее как указатель на начало списка
(рис. 1.4). Если список пуст, то s = nil.
Рис. 1.4. Пример изображения Л1-списка с указателем на начало
Другим возможным способом реализации цепного представления Л1–
списка на Паскале является ссылочная реализация на базе вектора. В качестве
ссылок в этом случае используются номера элементов вектора, предназначен-
ных для хранения звеньев цепи (элементов списка). Как ссылочная реализация
Л1–списка в динамической памяти, так и реализация на базе вектора подробно
рассмотрены далее в 1.3, 1.4.
б
в
a b c d
s:
a
b c d
5
Info Next Info Next
а б в
Рис. 1.2. Изображения: а - отдельного звена списка;
б - пустой ссылки; в - последнего звена в списке
a b c d
Рис. 1.3. Пример изображения Л1-списка
На Паскале такое цепное представление списка может быть реализовано,
например [xx], с использованием ссылочных переменных. Соответствующие
типы данных можно описать в виде
type
El = ... ; { базовый тип для элементов списка }
Link = ^Node; { ссылка на звено в цепи }
Node = record { звено цепи ( списка ) : }
Info : El; { содержимое (элемент списка) }
Next : Link ; { ссылка на следующее звено }
end {Node} ;
Длина списка в этом случае ограничивается только размерами доступной
динамической памяти, в которой размещаются элементы списка (звенья цепи),
связанные ссылками.
Для работы со списком удобно описать дополнительную переменную типа
Link (например, var s : Link) и использовать ее как указатель на начало списка
(рис. 1.4). Если список пуст, то s = nil.
s: a b c d
Рис. 1.4. Пример изображения Л1-списка с указателем на начало
Другим возможным способом реализации цепного представления Л1–
списка на Паскале является ссылочная реализация на базе вектора. В качестве
ссылок в этом случае используются номера элементов вектора, предназначен-
ных для хранения звеньев цепи (элементов списка). Как ссылочная реализация
Л1–списка в динамической памяти, так и реализация на базе вектора подробно
рассмотрены далее в 1.3, 1.4.
5
Страницы
- « первая
- ‹ предыдущая
- …
- 3
- 4
- 5
- 6
- 7
- …
- следующая ›
- последняя »
