Составители:
Рубрика:
Unit L1List;
{ Реализация L1−списка на Турбо-Паскале }
Interface
Uses Global; { модуль, в котором описан тип элементов списка El }
{============================================================= }
{Ссылочное представление в динамической памяти }
type { El − базовый тип для элементов списка (описан в Global)}
Link = ^ Node; {ссылка на звено в цепи }
RepList = record {формуляр ("представитель") списка}
Head, Cur, PredCur : Link;
end { RepList };
=
record { звено цепи ( списка ): }
Info : El; { - содержимое (элемент списка) }
Next : Link ; { - ссылка на следующее звено }
end { Node };
L1_list = ^ RepList; {Л1–список}
{==============================================================}
{1}function Create : L1_list; {Начать работу (создать пустой список
)}
{2}function Null ( l : L1_list ) : Boolean; {Список пуст ?}
{3}procedure Empty ( l : L1_list ) ; {Сделать список пустым }
{4}procedure GoBOL ( l : L1_list ) ; {Встать в начало списка }
{5}function EOList ( l : L1_list ) : Boolean; {Конец списка }
{6}procedure GoNext ( l : L1_list ) ; {Перейти к следующему элементу
списка;
отказ: в состояниях Null, EOList}
{7}procedure GetEl ( l : L1_list; var e : El ); {Получить текущий элемент
списка; отказ: в состояниях
Null, EOList}
{8}procedure Insert ( l : L1_list; e : El ); {Добавить элемент перед теку-
щим,
текущим сделать новый элемент}
{9}procedure Replace ( l : L1_list; e : El ); {Заменить текущий элемент спи-
ска;
отказ: в состояниях Null, EOList}
{10}procedure Delete ( l : L1_list ) ; {Удалить текущий элемент списка,
сделать текущим прежний следующий;
отказ: в состояниях Null, EOList}
{11} procedure Destroy ( var l : L1_list ); {Закончить работу
(ликвидировать список)}
{==============================================================}
Implementation
... {Здесь размещаются блоки процедур и функций }
end {L1List}.
Рис. 1.8. Макет модуля L1List
10
Unit L1List; { Реализация L1−списка на Турбо-Паскале } Interface Uses Global; { модуль, в котором описан тип элементов списка El } {============================================================= } {Ссылочное представление в динамической памяти } type { El − базовый тип для элементов списка (описан в Global)} Link = ^ Node; {ссылка на звено в цепи } RepList = record {формуляр ("представитель") списка} Head, Cur, PredCur : Link; end { RepList }; = record { звено цепи ( списка ): } Info : El; { - содержимое (элемент списка) } Next : Link ; { - ссылка на следующее звено } end { Node }; L1_list = ^ RepList; {Л1–список} {==============================================================} {1}function Create : L1_list; {Начать работу (создать пустой список )} {2}function Null ( l : L1_list ) : Boolean; {Список пуст ?} {3}procedure Empty ( l : L1_list ) ; {Сделать список пустым } {4}procedure GoBOL ( l : L1_list ) ; {Встать в начало списка } {5}function EOList ( l : L1_list ) : Boolean; {Конец списка } {6}procedure GoNext ( l : L1_list ) ; {Перейти к следующему элементу списка; отказ: в состояниях Null, EOList} {7}procedure GetEl ( l : L1_list; var e : El ); {Получить текущий элемент списка; отказ: в состояниях Null, EOList} {8}procedure Insert ( l : L1_list; e : El ); {Добавить элемент перед теку- щим, текущим сделать новый элемент} {9}procedure Replace ( l : L1_list; e : El ); {Заменить текущий элемент спи- ска; отказ: в состояниях Null, EOList} {10}procedure Delete ( l : L1_list ) ; {Удалить текущий элемент списка, сделать текущим прежний следующий; отказ: в состояниях Null, EOList} {11} procedure Destroy ( var l : L1_list ); {Закончить работу (ликвидировать список)} {==============================================================} Implementation ... {Здесь размещаются блоки процедур и функций } end {L1List}. Рис. 1.8. Макет модуля L1List 10
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »