metodo de quicksort
Publicado por juan (2 intervenciones) el 24/10/2008 22:46:15
quien me puede ayudar con un alguritmo para el ordenamiento de un vector con el metodo de quicksort en DFD gracias...
Valora esta pregunta


0
Función Quicksort(Arreglo arr, Entero inicio, Entero fin)
Si inicio < fin entonces
// Partición del arreglo y obtención del índice del pivote
ÍndicePivote = Particionar(arr, inicio, fin)
// Ordenar recursivamente los subarreglos antes y después del pivote
Quicksort(arr, inicio, ÍndicePivote - 1)
Quicksort(arr, ÍndicePivote + 1, fin)
Función Particionar(Arreglo arr, Entero inicio, Entero fin)
// Tomar el último elemento como pivote
Pivote = arr[fin]
ÍndiceMenor = inicio - 1
Para i desde inicio hasta fin - 1 hacer
Si arr[i] < Pivote entonces
Incrementar ÍndiceMenor
Intercambiar(arr[ÍndiceMenor], arr[i])
// Colocar el pivote en su posición correcta
Intercambiar(arr[ÍndiceMenor + 1], arr[fin])
Devolver ÍndiceMenor + 1