Скачиваний:
32
Добавлен:
10.05.2014
Размер:
1.53 Кб
Скачать
{4. Шейкерная сортировка (улучшеная пузырьковая, обменная) по убыванию}

CONST
n=10;

VAR
i: integer;
mass: array [1..n] of real;


Procedure InitMass;
Var
i:integer;
Begin
for i:=1 to n do mass[i]:=10*sin(0.3*i+0.24);
End;


Procedure Sha_So;
Var
l,r,j : integer;
x: real;

Begin
l:=2;
r:=n;
while l<=r do begin
//Пузырек слева направо
for j:=l to r do
if mass[j]<mass[j-1] then begin
x:=mass[j];
mass[j]:=mass[j-1];
mass[j-1]:=x;
end;
r:=r-1;
//Пузырек справа налево
for j:=r downto l do
if mass[j]<mass[j-1] then begin
x:=mass[j];
mass[j]:=mass[j-1];
mass[j-1]:=x;
end;
l:=l+1;
end;
End;


BEGIN
InitMass;
for i:=1 to n do writeln(mass[i]:5:5);
WriteLn('***********************************************************');
Sha_So;
for i:=1 to n do writeln(mass[i]:5:5);
END.
Соседние файлы в папке 1