Предмет: Информатика,
автор: Supremoskty
Напишите вариант метода пузырька, который заканчивает работу, если на очередном шаге внешнего цикла не было перестановок. PascalABC
Ответы
Автор ответа:
0
begin
var n := 10;
var a := ArrRandom(n, -50, 50);
println('Исходный массив:');
a.Println;
var noChanges: boolean;
repeat
noChanges := true;
for var i := 0 to n - 2 do
if a[i] > a[i + 1] then
begin
swap(a[i], a[i + 1]);
noChanges := false;
end;
until noChanges;
println('Отсортированный массив:');
a.Println;
end.
var n := 10;
var a := ArrRandom(n, -50, 50);
println('Исходный массив:');
a.Println;
var noChanges: boolean;
repeat
noChanges := true;
for var i := 0 to n - 2 do
if a[i] > a[i + 1] then
begin
swap(a[i], a[i + 1]);
noChanges := false;
end;
until noChanges;
println('Отсортированный массив:');
a.Println;
end.
Похожие вопросы
Предмет: Химия,
автор: skroiii
Предмет: Химия,
автор: santey927
Предмет: Математика,
автор: dokd10312p7uq3q
Предмет: История,
автор: Bonni777
Предмет: Математика,
автор: rompetr69