Предмет: Информатика,
автор: 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.
Похожие вопросы
Предмет: Английский язык,
автор: yasminamaxsutova
Предмет: Биология,
автор: vviiccttoorr999
Предмет: География,
автор: genaplay21
Предмет: История,
автор: Bonni777
Предмет: Математика,
автор: rompetr69