4.2.3. Обработка массива
Идея линейной сортировки по невозрастанию заключается в том, чтобы, последовательно
просматривая весь массив, отыскать наибольшее число и поменять его местами с первым элементом.
Затем просматриваются элементы массива, начиная со второго, снова находится наибольший, который меняется
местами со вторым и т. д. (листинг 4.5).
Листинг 4.5. Программа линейной сортировки по невозрастанию
const count=20;
m: array [1..count] of byte = (9,11,12,3,19,1,5,17,10,18,3,19,17,9,12,20,20,19,2,5);
var i,j,buf,l: byte; a: integer;
begin
writeln('Исходный массив:');
for i:=1 to count do write(' ', m[i]);
writeln; readln;
a:=0; { обнуляем счетчик итераций }
{ изменение размера неотсортированной части массива }
for i:=1 to count-1 do
{ сравниваем поочередно i-й элемент неотсортированной части массива }
{ со всеми от i+1-го до конца }
for j:=i+1 to count do
begin
a:=a+1;
if m[i]
{ нашли элемент, больший, чем i-й, то меняем их местами }
begin
buf := m[i]; { buf — буфер обмена }
m[i] := m[j] ;
m[j] := buf;
end;
for 1:=1 to count do write(' ', m[l]); { после сортировки }
writeln('; итерация # ', a);
end;
end.
По последнему значению а определяем, что для данного массива линейная сортировка по
невозрастанию выполняется за 190 итераций.
 предыдущая
        меню
       вверх
        следующая