Вы здесь

Сортировка пузырьком

Исходный код на C++: 

Теория

Сортировка пузырьком. Суть алгоритма заключается в попарном сравнении элементов 0 с 1, 1 c 2,...,n-1 c n и в их перестановке, если элементы расположены не в порядке возрастания (убывания). Перестановка элементов будет повторяться до тех пор, пока при просмотре всего массива не останется ни одной перестановки. Пример работы алгоритма: 55,25,1,35,13,5,-5,11. На первом шаге сортировки сравниваем 55 с 25 и меняем их местами. Далее сравниваем 55 с 1 и меняем их местами и т. д. В итоге получаем после первого шага (рис. 1).

После первого шага работы алгоритма
Рис. 1 Шаг 1.

На втором шаге работы алгоритма сравниваем 25 с 1 и меняем их местами. Далее сравниваем 25 с 35. Данную пару оставим без изменения (т. к. 25

После второго шага работы алгоритма
Рис.2 Шаг 2.

Продолжая итерационный процесс, мы получаем отсортированный массив. Трудоёмкость алгоритма- (n*n-n)/2.

Программная реализация

void sort_puzerek(int count,double *mass)
{
int i;
bool f;
double t;
do
{
f=false;
for(i=0;i<count-1;i++)
if(mass[i]>mass[i+1])
{t=mass[i];mass[i]=mass[i+1];mass[i+1]=t;f=true;}
}while(f);
}