sort/doc/pseudo/quicksort.txt

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