Участник:Satosik
Псевдокод
Ниже приведен псевдокод сортировки пузырьком, на вход которой подается массив .
BubbleSort(A)
for i = 0 to a.size - 2:
for j = 0 to a.size - 2:
if A[j] > A[j + 1]:
swap(A[j], A[j + 1]);
Для первой оптимизации точное количество сравнений зависит от исходного массива и в худшем случае составляет . Следовательно, .
Модификации
Сортировка чет-нечет - модификация пузырьковой сортировки, основанной на сравнении элементов стоящих на четных и нечетных позициях независимо друг от друга. Подробнее здесь -
Сортировка расческой - модификация пузырьковой сортировки, основанной на сравнении элементов на расстоянии. По мере упорядочивания массива это расстояние уменьшается и как только оно достигает 1, массив "досортировывается" обычным пузырьком. Сложность - O(n \log{n})