В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого сравнивается со следующим и если он больше следующего, то элементы меняются местами. Таким образом, элементы с наименьшим значением продвигаются к началу массива (всплывают), а элементы с большим значением – к концу массива (тонут), поэтому его и называют методом пузырька. Этот процесс повторяется на единицу меньше раз чем элементов в массиве, либо возможно другой способ реализации этого метода, повторяется до тех пор пока находятся соседние элементы, такие что элемент стоящий правее оказывается меньше элемента стоящего левее.
program vosr;
var a: array [1..15] of integer;
i,
j, k, n, m, c, f: integer;
begin
writeln (‘Вводите количество элементов массива <16’); readln (n);
for
i:=1 to n do
begin
begin
write (i,’:’); readln (a[i]);
end;
for
i:=1 to n-1 do
begin
begin
for
j:=1 to n-1 do
if a[j]>a[j+1] then
begin
begin
c:=a[j];
a[j]:=a[j+1];
a[j+1]:=c;
end;
end;
for i:=1 to n do
writeln (a[i]);
end.
end.
Упорядочивание с использованием цикла с заданным условие окончания работы.
program vosr;
var a: array [1..15] of integer;
i,
j, k, n, m, c, f: integer;
begin
writeln (‘’); readln (n);
for
i:=1 to n do begin
write (i,’:’); readln (a[i]);
end;
k:=n-1;
repeat
f:=0;
for
i:=1 to k do
if a[i]>a[i+1] then begin
f:=1;
c:=a[i];
a[i]:=a[i+1];
a[i+1]:=c;
end;
dec(k);
until
f=0;
for i:=1 to n do
writeln (a[i]);
readln;
end.
Комментариев нет:
Отправить комментарий