Сортировка выбором С++




сортировка выбором с++, алгоритм сортировки выбором, для начинающихСмысл Сортировки выбором (Selection Sort) состоит в поиске минимального значения элемента в массиве, и перемещения этого значения в начало массива. Нужно сразу оговориться, что в данном случае можно назвать «началом» массива (куда перемещается найденное минимальное значение). «Начало» в алгоритме Сортировка выбором с каждым шагом цикла смещается в сторону хвоста массива. Поэтому на первой итерации цикла, найденное минимальное значение меняется местами со значением в нулевой ячейке массива. На второй итерации «начало» уже будет указывать на следующую (первую) ячейку и так далее.

сортировка выбором с++, алгоритм сортировки выбором, для начинающих

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

Код программы весьма прост, и не требует каких-то особых описаний:

Роль «начала» здесь играет счетчик i внешнего цикла. На каждом шаге значение элемента, номер которого отсчитывает эта переменная, считается минимальным. Вложенный цикл проводит проход по хвосту массива, вычисляя номер ячейки массива с минимальным значением (строка 18 — тернарный оператор). Если после прохода вложенным циклом переменная min не изменилась, значит из всего хвоста массива, который обрабатывается, минимального значения нет, и элемент «начала» остается на своем месте. Иначе — значение меняется местами с найденным.

сортировка выбором с++, алгоритм сортировки выбором, для начинающих

Хвост обрабатываемого массива с каждым проходом циклов уменьшается и когда достигнет конца массива, он (массив) окажется уже отсортированным. Работа алгоритма Сортировка выбором прекратится.

Вот отличное короткое видео по информатике с разбором Сортировки выбором (Selection Sort):

Прочтите также наши следующие уроки посвященные алгоритмам сортировки: пузырьковая сортировка и шейкерная сортировка массива.

Рассылка новых уроков по программированию:


Согласен получать уведомления от purecodecpp.com на мой e-mail

Дата
Страница
Сортировка выбором в С++ (Selection Sort)
Рейтинг
5

Сортировка выбором С++: 1 комментарий

Добавить комментарий

Код размещайте в тегах: <pre class="lang:c++ decode:true ">YOUR CODE</pre>