3.3.4. Ordenación por mezcla y ordenación rápida.
Pivote (i, j: integer; var l: integer)
var p: tipo; { p es el pivote }
repeat k:= k+1 until (A[k] > p) or (k ? j);
repeat l:= l-1 until (A[l] ? p);
repeat k:= k+1 until (A[k] > p);
repeat l:= l-1 until (A[l] ? p);
Tiempo de ejecución: Mejor caso.
Todas las particiones son de tamaño similar, n/2.
t(n) = 2·t(n/2) + b·n + c ? ?(n·log n)