Изменения

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

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

Нет изменений в размере, 13:07, 9 мая 2015
Нет описания правки
Ниже приведён псевдокод процедуры слияния, который сливает две части массива <tex>A</tex> {{---}} <tex>[left; mid)</tex> и <tex>[mid; right)</tex>
'''function''' merge(a : '''int[Nn]'''; left, mid, right : '''int'''):
it1 = 0
it2 = 0
Функция сортирует подотрезок массива с индексами в полуинтервале <tex>[left; right)</tex>.
'''function''' mergeSortRecursive(a : '''int[Nn]'''; left, right : '''int'''):
'''if''' left + 1 >= right
'''return'''
Функция сортирует подотрезок массива с индексами в полуинтервале <tex>[left; right)</tex>.
'''function''' mergeSortIterative(a : '''int[Nn]'''; left, right : '''int'''): '''for''' i = 1 '''to''' Nn, i *= 2
'''for''' j = left '''to''' right - i, j += 2 * i
merge(a, j, j + i, min(j + 2 * i, right))
63
правки

Навигация