Сортировка выбором — различия между версиями
Krotser (обсуждение | вклад) (→Алгоритм) |
Krotser (обсуждение | вклад) (→Алгоритм) |
||
Строка 7: | Строка 7: | ||
== Алгоритм == | == Алгоритм == | ||
− | [[file:Selection_sort.png|thumb| | + | [[file:Selection_sort.png|thumb|240px|Пример работы алгоритма для последовательности из 6 элементов]] |
0. Назовем элементы массива списком. | 0. Назовем элементы массива списком. | ||
Версия 15:16, 20 мая 2012
Сортировка выбором (англ. selection sort) - это простой алгоритм сортировки со сложностью
, где - количество элементов для сортировки. Сортировка выбором предназначена для решения задачи сортировки (sorting problem).Содержание
[убрать]Задача сортировки
На входе последовательность из
чисел.На выходе отсортированная последовательность по неубыванию.
Алгоритм
0. Назовем элементы массива списком.
1. Находим номер минимального элемента из текущего списка.
2. Меняем минимальный элемент с первым элементом списка.
3. Если список пуст, то массив отсортирован. Иначе вернемся к шагу 1, убрав первый элемент из списка.
Пример
Пусть дана последовательность из
элементов .Белым фоном обозначен текущий список, зеленым отсортированная часть, а красным минимальный элемент.
Реализация
// Входной массив x, содержащий n элементов. for (i = 0 to n - 1) int min = i; for (j = i + 1 to n - 1) if (x[j] < x[min]) min = j; swap(x[i], x[min]); // Массив x отсортирован
Ссылки
Литература
- Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. Алгоритмы: построение и анализ, 2-е издание. М.: Издательский дом "Вильямс", 2005. ISBN 5-8459-0857-4