Лабораторная работа: Структуры и алгоритмы обработки данных
q^.next:= sag^.next; {в адресную часть второго элемента заносим адресную часть первого элемента}
sag^.next:= q; {в адресную часть первого элемента заносим адрес созданного указателя}
//---------сортировка
qq:= sag^.next; //запоминаем адрес первого элемента ЛОС
Whileqq<>Nildo {запускаем цикл выполняющийся пока не будет достигнут конец списка}
begin
s:= qq; //запоминаем адрес первого элемента ЛОС
qq:= qq^.next; {запоминаем адрес следующего элемента
ЛОС}
if (qq<>nil) then {если адресная переменная не равна указателю конца списка}
begin
begin
if (qq^.inf<s^.inf) then {если информационная часть следующего элемента меньше чем предыдущего, тогда:}
begin
a:= qq^.inf; {запоминаем значение информационной части следующего элемента}
qq^.inf:=s^.inf; {в информационную часть следующего элемента запоминаем значение информационной части
предыдущего элемента}
s^.inf:= a; {в информационную часть предыдущего элемента запоминаем значение следующего элемента}
end;
end;
end;
end; //---------конецсортировки
Proverka(w); {вход в процедуру проверки корректности ввода данных}
a:= StrToInt(w); {перевод числа из строкового типа данных в целочисленный}
end;
end
else
begin
Whilestroka<>'0' do {запускаем цикл выполняющийся пока не будет введен ноль}