Зворотний зв'язок

Використання вільної пам'яті

begin

if lp = nil then isinr := false else

{ обробка голови }

if a = lp^.v then isinr := true else

{ рекурсивно перевірити належність елемента підсписку }

isinr := isinr ( a, lp^.subl )

end

Далі ми запишемо рекурсивну функцію addordr додавання елемента в упорядкований список зі збереженням його упорядкованості та повернення вказівника на список, у який вставлено елемент. Але спочатку напишемо функцію newelemr, подібну процедурі newelem з підр.16.3. На відміну від тієї процедури, вказівник на новий елемент повертається з неї.

function newelemr(p : Plist; z : integer) : Plist;

var pp : Plist;

begin

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

newelemr:=pp

end;

Наведена функція використовується в функції addordr:

function addordr ( a : integer; lp : Plist ) : Plist;

var p : Plist;

begin

if (lp = nil) or (a < lp^.v) then

{список, ідентифікований lp, стає підсписком }

{ за новим головним елементом }

addordr := newelemr ( lp, a );

else

begin { рекурсивно додати елемент до підсписку }


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат