Лічильник
Сьогодні Разом
Відвідувань 38 5273712
Авторізацій 0 423086
Користувачів 0 2728
Статья

32. Пузырьковая сортировка


Суть алгоритма пузырьковой сортировки заключается в попарном сравнении двух рядом стоящих элементов. Если эти элементы находятся по отношении друг к другу не в правильном порядке, то они переставляются местами. После чего проверка выполняется со следующей парой элементов. Сделав проход по всему массиву, и попарно переставив элементы, выполняется новый проход по массиву... и так до тех пор, пока все элементы не будут стоять на своих местах.

Исходя из этого сформулируем алгоритм: будем считать количество перестановок элементов при каждом полном проходе по массиву (переменная count), и если при очередном проходе не было сделано ни одной перестановки, то массив отсортирован и цикл можно завершить:
 repeat
  count := 0;
  for i := 2 to n do
   if a[i] < a[i - 1]
    then begin
          <Обмен значениями a[i] и a[i-1] элементов>
          inc(count)
         end
 until count = 0
Напомним, что при обмене значениями двух элементов массива используется временная переменная:
 temp := a[i];
 a[i] := a[i - 1];
 a[i - i] := temp;