сенссортування вибором (вибір Сортування) полягає у пошуку мінімального значення елемента в масиві, і переміщення цього значення в початок масиву. Потрібно відразу обмовитися, що в даному випадку можна назвати “початком” массива (куди переміщається знайдене мінімальне значення).
“старт” в алгоритмі Сортування вибором з кожним кроком циклу зміщується в бік хвоста масиву. Тому на першій ітерації циклу, знайдене мінімальне значення міняється місцями зі значенням в нульовий осередку масиву. На другий ітерації “старт” вже буде вказувати на наступну (першу) осередок і так далі.
За фактом виходить простий обмін місцями значень осередків массива. При такому обміні значеннями не потрібен зсув (перезапись) всіх елементів масиву, щоб записати мінімальне значення в відповідну клітинку. Тобто алгоритм Сортування вибором не вимагає використання додаткової пам'яті. Перезапис значень відбувається відразу після знаходження мінімального значення в масиві.
Код програми дуже простий, і не вимагає якихось особливих описів:
роль “початку” тут грає лічильник i зовнішнього циклу. На кожному кроці значення елемента, номер якого відраховує ця змінна, вважається мінімальним. вкладений цикл проводить прохід по хвосту масиву, обчислюючи номер комірки масиву з мінімальним значенням (рядок 18 – тернарный оператор).
Якщо після проходу вкладеним циклом змінна min не змінилась, значить з усього хвоста масиву, який обробляється, мінімального значення немає, і елемент “початку” залишається на своєму місці. Иначе – значення міняється місцями зі знайденим.
Хвіст оброблюваного масиву з кожним проходом циклів зменшується і коли досягне кінця масиву, він (массив) виявиться вже відсортованих. Робота алгоритму Сортування вибором припиниться.
Ось відмінне коротке відео з інформатики з розбором сортування вибором (вибір Сортування):
Прочитайте також наші наступні уроки присвячені алгоритмам сортування: пузырьковая сортировка і shyeikyernaya sortirovka массива.
Спасибо! Дуже зрозуміло і точно викладено алгоритм сортування.
Спасибо!