Використання вільної пам'яті, Детальна інформація

Використання вільної пам'яті
Тип документу: Реферат
Сторінок: 11
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 0
Скачувань: 1242
В обох цих випадках s вставляється після елемента ssk.

Нехай результат лексикографічного порівняння рядків s1 і s2 обчислюється при виконанні виклику функції lt(s1, s2) – див. задачу 12.9.

:

D

V

Z

\x00D0

Ue

¬

та списку Newelem. Аргументами в її виклику є вказівник типу Tple та вираз типу str. За виконання її виклику створюється новий елемент списку, в його поля записуються значення аргументів, після чого аргумент-вказівник установлюється на цей елемент:

procedure newelem(var p : Tple; z : str);

var pp : Tple;

begin

new(pp); pp^.next:=p; pp^.v:=z; p:=pp

end;

З використанням цієї процедури наведений алгоритм уточнюється такою процедурою:

procedure addord ( s : str; var h : TPle );

var p, pp : TPle; stop : boolean;

begin

if h = nil then {Список порожній – створюється новий елемент }

newelem ( h, s ); {і стає головним}

else

if lt ( s, h^.v ) then { Вставка перед першим елементом – }

newelem ( h, s ) {новий елемент стає головним}

else

begin { Пошуки місця для вставки }

stop := false; p := h;

while ( p^.next <> nil ) and not stop do

if lt(s, p^.next^.v) then stop := true

else p := p^.next;

The online video editor trusted by teams to make professional video in minutes