Изменения

Перейти к: навигация, поиск

Сортировка слиянием

311 байт убрано, 23:06, 12 июня 2012
Рекурсивный алгоритм
===Рекурсивный алгоритм===
[[Файл:Merge sort1.png|300px|right|thumb|Пример работы рекурсивного алгоритма сортировки слиянием]]
Функция сортирует участок подотрезок массива от элемента с номером left до элемен­та с номером right. Будем реализовывать так, что бы производилась сортировка полуинтервала индексами в полуинтервале [left, ; right).
right и left — правая и левая граница массива, middle — середина. <pre>sort MergeSort(array aA, int left, int right): if left + 1 >= right: return middle mid = (left + (right - left ) / 2; if left >= right return; sortMergeSort(aA, left, middlemid); sort MergeSort(aA, middlemid, right); merge Merge(array aA, left, middlemid, right);</pre>
Пример работы алгоритма показан на рисунке:
304
правки

Навигация