yandex rtb 1
ГоловнаЗворотній зв'язок
yande share
Главная->Математика і інформатика->Содержание->Листинг 2.13. Реализация отображения посредством списков

Алгоритмы структуры данных

Листинг 2.13. Реализация отображения посредством списков

procedure MAKENULL ( var M: MAPPING );

{ точно такая же, как и для списков }

procedure ASSING ( var M: MAPPING; d: domaintype; r: rangetype )

var

x: elementtype; { пара (d, r) }

p: position; { используется для перехода по списку W }

begin

x.domain:= d;

x.range:= r;

p: = FIRST(M);

Whill p <> END(M) do

if RETRIEVE (p, M) .domain = d then

DELETE (p, M)

{удаляется элемент со значением d в поле domain)

else

р:= NEXT(p, M);

INSERT(x, FIRST(M), M]

{ пара (d, r) помещена в начало списка }

end; { ASSIGN }

 

function COMPUTE ( var M: MAPPING; d: domaintype; var r: rangetype): boolean;

var

p: position;

begin

p: = FIRST(W) ;

whill p <> END(M) do begin

if RETRIEVE(p, M) .domain = d then begin

r:= RETRIEVE(p, M).range;

return(true)

end;

p:= NEXT(p, M)

end;

return(false) { d не принадлежит области определения }

end; { COMPUTE }

 

28