Предмет: Информатика, автор: Supremoskty

Напишите вариант метода пузырька, который заканчивает работу, если на очередном шаге внешнего цикла не было перестановок. PascalABC

Ответы

Автор ответа: nelle987
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.
Похожие вопросы
Предмет: Химия, автор: santey927
Предмет: Математика, автор: dokd10312p7uq3q