Составители:
Рубрика:
вый элемент списка s становится первым элементом списка свободной памяти (в
результате "опустошаемый" список сцепляется со списком свободной памяти).
Unit L1ListV; { Реализация ограниченного L1-списка на Турбо-Паскале }
Interface
Uses Global;{модуль, в котором описан тип элементов списка El }
{=============================================================}
{ Ссылочное представление на базе вектора }
{const MemMaxSize = максимальный размер "рабочей" памяти,
описание дано в модуле Global }
type
Index = 0..MemMaxSize;
Link = Index; { ссылка на звено цепи }
формуляр ("представитель") списка: }
RepList = record
Head, Cur, PredCur : Link;
end {RepList} ;
L1_listV = RepList; {Л1–список=формуляр списка }
{============================================================ }
{1} procedure Create ( var l: L1_listV );
{ начать работу ( создать пустой список ) }
{2} function Null ( l : L1_listV ) : Boolean; { список пуст }
{3} procedure Empty ( var l : L1_listV ) ; { сделать список пустым }
{4} procedure GoBOL ( var l : L1_listV ) ; { встать в начало списка }
{5} function EOList ( l : L1_listV ) : Boolean; { конец списка }
{6}procedure GoNext ( var l : L1_listV ) ;
{ перейти к следующему элементу списка; отказ: в состояниях Null, EOList }
{7} procedure GetEl ( l : L1_listV; var e : El );
{ получить текущий элемент списка; отказ: в состояниях Null, EOList }
{8} procedure Insert ( var l : L1_listV; e : El );
{ добавить элемент перед текущим, текущим сделать новый элемент }
{9} procedure Replace ( l : L1_listV; e : El );
{ заменить текущий элемент списка; отказ: в состояниях Null, EOList }
{10} procedure Delete ( var l : L1_listV ) ;
{ удалить текущий элемент списка, сделать текущим прежний следующий; }
{ отказ : в состояниях Null, EOList }
{11} procedure Destroy ( var l : L1_listV );
{ закончить работу (ликвидировать список) }
{12} function Not_full : Boolean;
{ в "рабочей" памяти есть место для размещения элемента списка }
Рис. 1.11. Секция Interface модуля L1ListV
13
вый элемент списка s становится первым элементом списка свободной памяти (в результате "опустошаемый" список сцепляется со списком свободной памяти). Unit L1ListV; { Реализация ограниченного L1-списка на Турбо-Паскале } Interface Uses Global;{модуль, в котором описан тип элементов списка El } {=============================================================} { Ссылочное представление на базе вектора } {const MemMaxSize = максимальный размер "рабочей" памяти, описание дано в модуле Global } type Index = 0..MemMaxSize; Link = Index; { ссылка на звено цепи } формуляр ("представитель") списка: } RepList = record Head, Cur, PredCur : Link; end {RepList} ; L1_listV = RepList; {Л1–список=формуляр списка } {============================================================ } {1} procedure Create ( var l: L1_listV ); { начать работу ( создать пустой список ) } {2} function Null ( l : L1_listV ) : Boolean; { список пуст } {3} procedure Empty ( var l : L1_listV ) ; { сделать список пустым } {4} procedure GoBOL ( var l : L1_listV ) ; { встать в начало списка } {5} function EOList ( l : L1_listV ) : Boolean; { конец списка } {6}procedure GoNext ( var l : L1_listV ) ; { перейти к следующему элементу списка; отказ: в состояниях Null, EOList } {7} procedure GetEl ( l : L1_listV; var e : El ); { получить текущий элемент списка; отказ: в состояниях Null, EOList } {8} procedure Insert ( var l : L1_listV; e : El ); { добавить элемент перед текущим, текущим сделать новый элемент } {9} procedure Replace ( l : L1_listV; e : El ); { заменить текущий элемент списка; отказ: в состояниях Null, EOList } {10} procedure Delete ( var l : L1_listV ) ; { удалить текущий элемент списка, сделать текущим прежний следующий; } { отказ : в состояниях Null, EOList } {11} procedure Destroy ( var l : L1_listV ); { закончить работу (ликвидировать список) } {12} function Not_full : Boolean; { в "рабочей" памяти есть место для размещения элемента списка } Рис. 1.11. Секция Interface модуля L1ListV 13
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »