18
данном порядке, например по возрастанию или убыванию значений
элементов массива или значений функций от этих элементов. Суще"
ствуют несколько методов сортировки массивов. Рассмотрим два наи"
более применимых на практике метода сортировки: метод простого
выбора и метод «пузырька».
Сортировка методом простого выбора. Суть метода сводится к
тому, что в неупорядоченной последовательности находят экстре"
мальный по значению элемент, точнее его индекс. Найденный экст"
ремальный элемент переставляется с первым элементом неупорядо"
ченной последовательности, и поиск повторяется со следующего эле"
мента. Число шагов описанного процесса – n(n–1)/2, где n – число
элементов последовательности.
Главный недостаток метода – отсутствие признака окончания про"
цесса сортировки. Поэтому в случае, когда последовательность уже
упорядочена (изначально или по мере прохождения процесса сорти"
ровки), приходится выполнять все n(n–1)/2 шагов.
Пример 3.6
Составить схему алгоритма сортировки одномерного массива A
n
в
порядке убывания значений элементов, используя метод простого вы"
бора.
Решение задачи приведено на рис. 3.4.
Сортировка методом «пузырька». Суть метода состоит в следую"
щем. В ходе просмотра элементов неупорядоченной последователь"
ности сравниваются два соседних числа. Если эти числа расположе"
ны в заданном порядке, то они остаются на своих местах, иначе их
меняют местами. Затем переходят к следующей паре, в которой одно
число из предыдущей пары. Обычно просмотр элементов начинается
с последней пары. В этом случае требуемые числа продвигаются с кон"
ца последовательности в ее начало, что напоминает процесс обмен"
ного движения воздушных капель и жидкости в наклоненном пу"
зырьке (отсюда и название метода). Сортировка считается закончен"
ной, если в ходе просмотра элементов последовательности не была
произведена ни одна перестановка, иначе процесс повторяется.
По сравнению с методом простого выбора метод «пузырька» имеет
более быструю сходимость за счет наличия признака окончания про"
цесса сортировки, который показывает, были перестановки в парах
или нет.
Пример 3.7
Составить схему алгоритма сортировки одномерного массива A
n
в
порядке убывания значений элементов, используя метод «пузырька».
Решение задачи приведено на рис. 3.5.