Шпаргалка: Последовательные таблицы
var таблица:ссылка;
procedure ВСТАВИТЬ(var таблица,последний:ссылка; ключ: key; тело:body)
var элемент:звено;
begin
new(элемент);
элемент.ключ:=ключ;
элемент.тело:=тело;
элемент.связь:=nil;
последний.связь:=элемент;
последний:=элемент;
if таблица=nil then таблица:=элемент else последний.связь:=элемент;
последний:=элемент
end
Сложность не зависит от длины таблицы
procedure изменить (var таблица, последний:ссылка; ключ:key; тело:body)
{найти таблица.ключ = ключ и заменить таблица.тело на тело}
var следующий:ссылка;
begin {поиск элемента с заданным ключом}
if таблица<> nil then begin
new(следующий);
следующий.ключ:=ключ:
следующий.связь:= nil;
последний.связь:=следующий;
следующий:=таблица;
end;
{поиск}
while следующий.ключ<> ключ do следующий:=следующий.связь;
if последний.связь<>следующий then следующий.тело:=тело
else write(‘элемент не найден’);