Шпаргалка: Последовательные таблицы

dispose(последний.связь)

end

Сложность К/2

procedure удалить(var таблица, последний: ссылка; ключ: key);

var текущий: ссылка;

{если элемент последний или первый, то рассмотрим отдельно, иначе сдвинем ссылку и освободим память}

if {таблица пуста} then write (‘Таблица пуста’) else

if {в таблице один элемент} then

if {единственный элемент есть искомый} then {сделать таблицу пустой}

else write(‘нет искомого элемента в таблице’)

else write (‘нет искомого элемента в таблице’)

else {поиск в таблице}

new(текущий);

текущий.ключ=ключ;

текущий.связь:=nil;

последний.связь:=текущий;

текущий:=таблица;

while текущий.ключ<> ключ do begin

предок:=текущий;

текущий:=текущий.связь

end

if {первый элемент - искомый} then begin

текущий:=таблица;

таблица:= текущий.связь;

dispose(текущий)

end

if {последний- искомый (текущий=последний)} then begin

последний:=предок;

последний.связь:=nil;

К-во Просмотров: 762
Бесплатно скачать Шпаргалка: Последовательные таблицы