Сортировка пузырьком работает путём последовательного сравнения соседних элементов и их обмена, если предшествующий оказывается больше последующего (при сортировке по возрастанию). younglinux.info
В процессе выполнения алгоритма элементы с большими значениями оказываются в конце списка, а элементы с меньшими значениями постепенно перемещаются по направлению к началу списка. younglinux.info
Образно говоря, тяжёлые элементы падают на дно, а лёгкие медленно всплывают подобно пузырькам воздуха. younglinux.info При этом в начале сортировки отсортированным становится конец списка, а не его начало. younglinux.info
В общем виде алгоритм пузырьковой сортировки выглядит так: thecode.media
- Берём самый первый элемент массива и сравниваем его со вторым. thecode.media Если первый больше второго — меняем их местами с первым, если нет — ничего не делаем. thecode.media
- Затем берём второй элемент массива и сравниваем его со следующим — третьим. thecode.media Если второй больше третьего — меняем их местами, если нет — ничего не делаем. thecode.media
- Проходим так до предпоследнего элемента, сравниваем его с последним и ставим наибольший из них в конец массива. thecode.media
- Возвращаемся в начало алгоритма и делаем всё снова точно так же, начиная с первого и второго элемента. thecode.media Только теперь даём себе задание не проверять последний элемент — мы знаем, что теперь в конце массива самый большой элемент. thecode.media
- Когда закончим очередной проход — уменьшаем значение финальной позиции, до которой проверяем, и снова начинаем сначала. thecode.media Так делаем до тех пор, пока не останется один элемент. thecode.media
Этот алгоритм считается учебным и почти не применяется на практике из-за низкой эффективности. education.yandex.ru