Основы программирования. Указатели. Динамические структуры данных. Абстрактные типы данных. Классы - 41 стр.

UptoLike

Составители: 

43
public
constructor Create;
destructor Destroy;
procedure Enqueue(i: DataType);
function Dequeue: DataType;
function First: DataType;
function IsEmpty: boolean;
end;
implementation
constructor Queue.Create;
begin
f:=nil;
l:=nil;
end;
destructor Queue.Destroy;
begin
while not IsEmpty do
Dequeue;
end;
procedure Queue.Enqueue(i: DataType);
var v: PNode;
begin
v:=NewNode(i,nil);
if IsEmpty then
f:=v
else l^.next:=v;
l:=v;
end;
function Queue.Dequeue: DataType;
var v: PNode;
begin
Assert(not IsEmpty);
v:=f;
f:=f^.next;
if f=nil then
l:=nil;
Result:=v^.data;
Dispose(v);
end;
function Queue.IsEmpty: DataType;
begin