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

Використання вільної пам'яті
Тип документу: Реферат
Сторінок: 11
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 0
Скачувань: 1206
begin

pp := h; h := h^.next;

dispose ( pp ); pp := nil

end

else

begin

p := h; stop := false;

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

if p^.next^.v = s then stop := true

else p := p^.next;

{ p^.next = nil – елемента із заданим значенням немає або }

{ stop = true – треба вилучити елемент p^.next^ }

if stop then

begin

pp := p^.next; p^.next := pp^.next;

dispose ( pp ); pp := nil

end

end

end;

4. Списки як рекурсивні об'єкти

Нехай a позначає довільний елемент множини A. Списки її елементів можна означити рекурсивно, а саме:

порожній список <> є списком;

якщо позначає список, то < a > також є списком.

За цим означенням список складається з головного елемента й підсписку, який сам є списком. Відтворимо рекурсивну природу списків означенням типу зв'язаних списків елементів типу T :

type Plist = ^List;

List = record

v : T; subl : Plist

end

Список ідентифікується вказівником на його головний елемент. Але й кожний наступний елемент, ідентифікований полем subl попереднього, вважається головним елементом підсписку. Порожній список указується значенням nil. Виразимо рекурсивно обробку списку за допомогою обробки головного елемента й підсписку, вважаючи для визначеності, що T = integer.

Перевірку належності елемента списку задає рекурсивна функція

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