63
правки
Изменения
Нет описания правки
Ниже приведён псевдокод процедуры слияния, который сливает две части массива <tex>a</tex> {{---}} <tex>[left; mid)</tex> и <tex>[mid; right)</tex>
'''function''' merge(a : '''int[n]'''; left, mid, right : '''int'''):
it1 = 0
'''for''' i = 0 '''to''' it1 + it2
a[left + i] = result[i]
===Рекурсивный алгоритм===
[[Файл:Merge sort1.png|300px|right|thumb|Пример работы рекурсивного алгоритма сортировки слиянием]]
Функция сортирует подотрезок массива с индексами в полуинтервале <tex>[left; right)</tex>.
<code style="display: inline-block">
'''function''' mergeSortRecursive(a : '''int[n]'''; left, right : '''int'''):
*[[Cортировка слиянием с использованием O(1) дополнительной памяти]]
*[http://ru.wikipedia.org/wiki/Mergesort Википедия {{---}} сортировка слиянием]
*[http://www.sorting-algorithms.com/merge-sort Визуализатор]