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

Сортировка выбором (Selection sort) — Алгоритм сортировки. Может быть как устойчивый, так и неустойчивый. На массиве из n элементов имеет время выполнения в худшем, среднем и лучшем случае Θ$$(n^2)$$, предполагая что сравнения делаются за постоянное время.

Алгоритм:

1) Ищем порядковый номер минимального значения в не отсортированной части массива.

2) Меняем его с крайним не отсортированным значением, если крайнее но отсортированное значение является минимальным ничего не делаем.

3) Повторяем пункты 1 и 2 пока весь массив не отсортируется.

 

Посмотрим алгоритм на примере:

Отсортируем массив: 524613 где каждая цифра это элемент массива.

 

Начало цикла, в массиве 524613 нет отсортированных чисел:

524613

1) Hаходим «1», это самое минимальное значение в массиве, и меняем с 5, это самое крайнее не отсортированное значение в массиве:

524613 -> |124653

2) 2 оказалась самым крайним не отсортированным значением, не меняем его положения

1|24653 -> 1|24653

3) Далее минимальным значением является 3, меняем её с 4.

12|4653-> 12|3654

3) Далее минимальным значением является 4, меняем её с 6.

123|654 -> 123|456

4) 5 оказалась самым крайним не отсортированным значением, не меняем его положения

123456 -> 1234|56

5) 6 оказалась самым крайним не отсортированным значением, не меняем его положения

123456 -> 12345|6

 

Реализация алгоритма на языке Паскаль:

Реализация алгоритма на языке C++:

 

Комментарии:

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *