40 lines
630 B
Plaintext
40 lines
630 B
Plaintext
entrada: array: arreglo de n datos: n: tamaño del arreglo
|
|
salida: arreglo ordenado
|
|
|
|
funcion quick_sort{
|
|
|
|
si(n < 2) entonces{
|
|
retorna
|
|
}
|
|
|
|
inicio i
|
|
inicio j
|
|
inicio temp
|
|
inicio pivote
|
|
|
|
pivote = arreglo[n / 2]
|
|
|
|
para i = 0 y j = n-1 con paso i = i + 1 y j = j - 1 hacer
|
|
mientras(arreglo[i] < pivote) hacer
|
|
i = i + 1
|
|
fin mientras
|
|
|
|
mientras(arreglo[j] > pivote) hacer
|
|
j = j - 1
|
|
fin mientras
|
|
|
|
si(i >= j) entonces
|
|
break
|
|
fin si
|
|
|
|
temp = arreglo[i]
|
|
arreglo[i] = arreglo[j]
|
|
arreglo[j] = temp
|
|
fin para
|
|
|
|
quick_sort(arreglo, i)
|
|
quick_sort(arreglo + i, n - i)
|
|
|
|
retorna el arreglo ordenado
|
|
|
|
fin funcion |