Лабораторная работа: Структуры и алгоритмы обработки данных
New(q); {создаем адресную переменную для первого элемента}
q^.inf2:= stroka; {заносим в информационную часть, значение данных}
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^.inf2<s^.inf2) then {если информационная часть следующего элемента меньше чем предыдущего, тогда:}
begin
a:= qq^.inf2; {запоминаем значение информационной части следующего элемента}
qq^.inf2:=s^.inf2; {в информационную часть следующего элемента запоминаем значение информационной части
предыдущего элемента}
s^.inf2:= a; {в информационную часть предыдущего элемента запоминаем значение следующего элемента}
end;
end;
end;
end;
//---------конецсортировки
ReadLn(stroka); //вводданныхтипа String
end;