Як впорядкувати масив по зростанню
Обробка даних в масиві проводиться за допомогою послідовного перебору, порівняння і пошуку можливих значень. При цьому велика розмірність масиву в рази збільшує витрати ресурсів. Час неодноразового проходу алгоритму по всіх елементах масиву можна значно скоротити, якщо попередньо їх впорядкувати. Зазвичай масиви сортують по зростанню, починаючи з наймолодшого числа або символу. Алгоритми сортування слід підбирати виходячи з умов конкретного завдання.
1
Існує кілька способів сортування масиву. Найбільш проста для алгоритмізації - «бульбашкова» сортування, проте вона ж відноситься до найповільнішим. Суть даного методу полягає в послідовному проході по масиву даних і порівнянні кожної пари елементів. Якщо нижчий елемент виявляється менше попереднього, проводиться обмін місцями. Далі алгоритм починається спочатку. Приклад коду сортування на мові С:
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
Одним з оптимальних алгоритмів сортування масиву по зростанню вважається упорядкування методом вставок. Суть алгоритму полягає в формуванні заданій послідовності серед групи елементів (по зростанню). Спеціальний обробник в циклі перевіряє масив на впорядкованість. Для сортування за зростанням задається така умова. Якщо наступний елемент менше попереднього, він вилучається зі свого місця і поміщається на те, яке відповідає його значенню. Приклад коду програми сортування за зростанням на мові С:
int Kol = 40;
int mаss [Kol], k;
for (int i = 1, j = 0 ilt; Kol- i ++)
{
k = mаss [i] - // допоміжна змінна для зберігання елемента масиву
j = i - 1;
while (k lt; mаss [j])
{
mаss [j + 1] = mаss [j];
j--;
if (j lt; 0) break;
mаss [j + 1] = k;
}
}
3
Ще один з часто використовуваних методів сортування - алгоритм упорядкування через пошук мінімального або максимального елемента в масиві. При сортуванні по зростанню в момент першого проходу по масиву знаходиться його елемент з самим мінімальним значенням і поміщається в початок масиву. На його ж місце встановлюється елемент, який займав раніше першу позицію. При подальшому розгляді масиву заповнене місце виключається. Шукається наступний мінімальний елемент, поміщається вже на друге місце і т.д., поки весь масив НЕ БУДЕ відсортований. Код сортування методом знаходження мінімального елемента списку:
int mаss [30], bb;
int Kоl = 30, min, pоs;
for (int i = 0 ilt; Kоl -1- i ++)
{
min = mаss [i];
pоs = i;
for (int j = 0 jlt; Kоl- j ++)
{
if (mаss [j] lt; min)
{
min = mаss [j];
pоs = j;
}
bb = mаss [i];
mаss [i] = mаss [pоs];
mаss [pоs] = bb;
}
}
Статті за темою "Як впорядкувати масив по зростанню"
Оцініть, будь ласка статтю