Программы сортировки массива разными способами на языке программирования Паскаль
Сортировка массива выбором с использованием дополнительного массива.
program Сортировка выбором;
const
N=10;
var
A,B:array[1..N] of integer;
J,I,Jmin,Min,Max:integer;
begin
for J:=1 to N do
A[J]:=random(100);
Max:=A[1];
for J:=2 to N do
if A[J]> Max then Нахождение максимального
Max:=A[J];
For I:=1 to N do
begin
Min:=A[1];
Jmin:=1;
for J:=2 to N do
begin
if A[J]< Min then
begin Нахождение минимального
Min:= A[J];
Jmin:=J;
еnd;
end;
B[I]:=Min;
A[Jmin]:=Max;
end;
end.
Сортировка массива выбором без использования дополнительного массива.
program бездомас;
const
N=10;
var
A:array[1..N] of integer;
J,I,Max,Min,Jmin,C:integer;
begin
for J:=1 to N do
A[J]:=random(100);
for I:=1 to N-1 do
begin
Min:=A[I];
Jmin:=I;
for J:=I+1 to N do
begin
if A[J]< Min then
begin
Min:=A[J];
Jmin:=J;
end;
end;
C:= A[I];
A[I]:=Min;
A[Jmin]:=C;
end;
for J:=1 to N do
writeln('A=',A[J]);
end.
Сортировка массива с помощью метода пузырька
program пузырек;
const
N=10;
var
A:array[1..N] of integer;
J,M,Vr,Flag:integer;
begin
for J:=1 to N do
A[J]:=random(100);
M:=N;
Flag:= 0;
while Flag = 0 do
begin
Flag:=0;
for J:=1 to M-1 do
if A[J]> A[J+1] then
begin
Vr:=A[J];
A[J]:=A[J+1];
A[J+1]:=Vr;
Flag:=1;
end;
M:=M-1;
end;
end.
Демонстрационный вариант.
var k,i,j, tmp, N: integer;
a:array [1..1000] of integer;
begin
N:=0;
readln(k);
while k<>0 do begin
N:=N+1;
a[N] :=k;
readln(k);
end;
for i:=1 to N-1 do
for j:=1 to N-i do
if a[j]> a[j+1] then begin
tmp:=a[j]; a[j]:=a[j+1]; a[j+1]:=tmp;
end;
for i:=1 to N do writeln(a[i]) ;
end.