Изменения

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

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

74 байта убрано, 17:36, 10 июня 2012
Псевдокод
==Псевдокод==
<wikitex>
Quicksort(A, pl, r) if p l < rthen then q = Partition(A, pl, r) Quicksort(A, pl, q) Quicksort(A, q + 1, r)
</wikitex>
Для сортировки всего массива необходимо выполнить процедуру <tex>Quicksort(A, 1, length[A])</tex>.
Основной шаг алгоритма сортировки {{---}} процедура <tex>Partition</tex>, которая переставляет элементы массива <tex>A[p..r]</tex> нужным образом:
<wikitex>
Partition(A, pl, r) x = A[pl] i = p - 1l j = r + 1 while truedo do repeat j = j - 1 until Awhile a[ji] <tex>\leq</tex> xdo repeat i = i + 1 until while A[ij] > < xdo j = j - 1 if i < j then поменять A[i] и A[j] else return j
</wikitex>
Анонимный участник

Навигация