Изменения

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

Быстрая сортировка

65 байт убрано, 10:21, 17 июня 2016
Разбиение массива
'''int''' partition(a: '''T'''[n], '''int''' l, '''int''' r)
'''T''' v = a[(l + r) / 2]
'''int''' i = l
'''int''' j = r - 1 '''while''' ''true'' (l <tex> \leqslant </tex> r)
'''while''' (a[i] < v)
i++
'''while''' (a[j] > v)
j--
'''if''' (j == l) '''break''' '''if''' (i <tex> \geqslant leqslant </tex> jr) '''break''' swap(a[i++], a[j]) swap(a[i], a[r--])
'''return''' i
Анонимный участник

Навигация