Сортування вставками: приклади роботи алгоритму

Приклади реалізації

Конкретна реалізація багато в чому залежить від використовуваної мови програмування, його синтаксису і структур.

Класична реалізація на мові C з використанням тимчасової змінної для обміну значень:

int i, j, temp;
for (i = 1; i = 0; j–)
{
if (array[j] < temp)
break;
array[j + 1] = array[j];
array[j] = temp;
}
}

Реалізація на PHP:

function insertion_sort(&$a) {
for ($i = 1; $i = 0 && $a[$j] > $x; $j–) {
$a[$j + 1] = $a[$j];
}
$a[$j + 1] = $x;
}
}

Цікаве:  Що таке полюс Землі?

Тут спочатку відбувається зсув вправо всіх елементів, що відповідають умові сортування, а потім поточний елемент вставляється на звільнене місце.

Код Java з використанням циклу while:

public static void insertionSort(int[] arr) {
for(int i = 1; i = 0 && arr[prevKey] > currElem){
arr[prevKey+1] = arr[prevKey];
arr[prevKey] = currElem;
prevKey–;
}
}
}

Загальний сенс коду залишається незмінним: кожен елемент масиву послідовно порівнюється з попередніми і змінюється з ними місцями при необхідності.