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

Сортировка массивов

Сегодня мы разберем сортировку методом пузырька. Это один из самых простых алгоритмов, его помнят все, да и самому составить его не проблема. Однако он крайне тяжел для ЭВМ и для сортировки больших массивов не пригоден. Сфера его применений — учебные программы. И так начнем…

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

[code]
for (int i = ARR_Size — 1; i >= 0; i—)
{
for (int j = 0; j < i; j++)
{
if (arr[j] > arr[j+1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
[/code]

Результаты измерений

ARR_Size = 1000 | Время: 0.003
ARR_Size = 10000 | Время: 0.344
ARR_Size = 100000 | Время: 34.684

Результаты не нуждаются в пояснениях. Стараемся не использовать данный алгоритм для сортировки средних и больших массивов. Однако для сортировки небольших массивов у данного метода, есть небольшой плюс. А точнее размер кода, как в прочем и у сортировки выбором.

1 Star2 Stars3 Stars4 Stars5 Stars (5 голосов, средний:5,00 из 5)
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
Оставить комментарий