Як відсортувати масив за зростанням

Як відсортувати масив за зростанням

Обробка даних у масиві здійснюється за допомогою послідовного перебору, порівняння та пошуку ймовірних значень. При цьому велика розмірність масиву в рази збільшує витрати ресурсів. Час неодноразового проходу алгоритму за всіма елементами масиву можна значно скоротити, якщо попередньо їх впорядкувати. Зазвичай масиви сортують за зростанням, починаючи з наймолодшого числа або символу. Алгоритми сортування слід підбирати виходячи з умов конкретного завдання.

Інструкція

1. Існує декілька способів сортування масиву. Найбільш просте для алгоритмізації - "бульбашкове" сортування, однак воно ж відноситься до найповільніших. Суть даного методу полягає в послідовному проході по масиву даних і порівнянні кожної пари елементів. Якщо нижчий елемент виявляється менше попереднього, проводиться обмін місцями. Далі алгоритм починається спочатку. Приклад коду сортування мовою C:int mаss [10];int el_min=10;for (int i=0; ii; j--) if (lеss(mаss [j], mаss [j-1])) swаp(mаss [j], mаss [j-1]);}

2. Одним з оптимальних алгоритмів сортування масиву за зростанням вважається впорядкування методом вставок. Суть алгоритму полягає у формуванні заданої послідовності серед групи елементів (за зростанням). Спеціальний обробник у циклі перевіряє масив на впорядкованість. Для сортування за зростанням задається наступна умова: Якщо подальший елемент менше попереднього, він вилучається зі свого місця і поміщається на те, яке відповідає його значенню. Приклад коду впорядкування за зростанням мовою C:int Kol = 40;int mаss [Kol], k;for (int i = 1, j=0; i< Kol; i++) {k = mass [i] ;//допоміжна змінна для зберігання елемента масиву j = i - 1; while (k < mass [j]) {mass [j + 1] = mass [j]; j--; if (j < 0) break; mаss [j + 1] = k;}}

3. Ще один з часто використовуваних методів сортування - алгоритм упорядкування через пошук мінімального або максимального елемента в масиві. При сортуванні за зростанням в момент першого проходу по масиву знаходиться його елемент з самим мінімальним значенням і поміщається в початок масиву. На його ж місце встановлюється елемент, який займав раніше першу позицію. При подальшому розгляді масиву заповнене місце виключається. Шукається наступний мінімальний елемент, поміщається вже на друге місце і т. д., поки весь масив не буде відсортований. Код сортування методом знаходження мінімального елемента списку:int mаss [30], bb;int Kоl = 30, min, pоs;for (int i = 0; i< Kоl -1; i++){ min = mаss [i]; pоs = i; for (int j=0; j< Kоl; j++) { if (mаss [j] < min) {min = mаss [j]; pоs = j; } bb = mаss [i]; mаss [i] = mаss [pоs]; mаss [pоs] = bb; }}