Пример 1. Упорядочивание массива по возрастанию.
begin
for i:=1 to 6 do
begin
Write(‘введите число номер ‘,I, ‘: ‘);
Readln(A[i]);
End;
for i:=1 to 5 do
for j:=i+1 to 6 do
if A[i]>A[j] then
begin
c:=A[i]; A[i]:=A[j]; A[j]:=c;
End;
Writeln; Writeln(‘массив после упорядочивания: ‘);
For i:=1 to 6 do writeln(A[i]);
Readkey; End.
Пример 2. Упорядочивание массива по невозрастанию (метод линейной сортировки – просматривается весь массив, наибольшее число помещается на первую позицию, затем просматриваются все остальные элементы и максимальный элемент помещается на первую позицию в рассматриваемой части).
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,L,N:byte; A: integer;
begin
Write(‘исходный массив:‘);
for i:=1 to count do write(‘ ‘, M[i]); writeln;
A:=0;
for I:=1 to count-1 do
for J:=I+1 to count do
begin
A:=A+1;
if M[i]
begin
N:=M[i]; M[i]:=M[j]; M[j]:=N;
End;
For L:=1 to count do write(‘ ‘,M[L]); Writeln(‘число итераций=‘,A);
end; Readln; End.
Пример 3: «Пузырьковый метод» (сравнение не каждого элемента со всеми, в сравнение в парах соседних элементов).
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,L,N:byte; A: integer;
begin
Write(‘исходный массив:‘);
for i:=1 to count do Write(M[i],’ ‘); Writeln;
A:=0;
for i:=2 to Count do
begin
for j:=count downto I do
begin
A:=A+1;
if M[j-1]
begin
K:=M[j-1];
M[j-1]:=M[j];
M[j]:=K;
for L:=1 to Count do Write(‘ ‘,M[L]);
writeln(‘Число итераций=’,A);
end;
end;
end;
end.