ВУЗ:
Составители:
Рубрика:
26
Приведем интерфейсы классов «Список» и «Итератор списка»:
type
List = class
private
f,l: PNode;
public
constructor Create;
destructor Destroy;
procedure AddFirst(x: DataType);
procedure AddLast(x: DataType);
procedure DeleteFirst;
procedure DeleteLast;
function IsEmpty: boolean;
function ToString: string;
function Find(x: DataType): boolean;
procedure Remove(x: DataType);
end;
ListIterator = class
private
L: List;
cur: PNode;
function GetData: DataType;
procedure SetData(d: integer);
public
constructor Create(LL: List);
procedure Assign(it: ListIterator);
procedure MoveFirst;
procedure MoveLast;
procedure Next;
procedure Prev;
function Eol: boolean;
property Data: DataType
read GetData write Set-
Data;
procedure InsertBefore(x: DataType);
procedure InsertAfter(x: DataType);
procedure Delete;
end;
Таким образом, за вставку и удаление из начала и конца отвечает класс спи-
ска, а за вставку и удаление в середине – класс его итератора. Отметим также, что
разделение на два класса позволило нам избавиться от основного недостатка пре-
дыдущей версии списка – «жирного»
интерфейса.
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »