Está en la página 1de 2

//quicksort

//Users/miguelmonsivais/NetBeansProjects/Recursividad/src/Pilas

public class QS17feb


{

public static void quicksort (int A[], int izq, int der)
{
int pivote = A [izq];
int i = izq;
int j = der;
int aux;

while (i < j)
{ // No cruce
while (A [i] <= pivote && i < j)
{
i++; // No en su Lugar, no Cruce
}
while (A [j] > pivote)
{
j--; // No en su lugar
}
if (i < j)
{ // no cruce make swap
aux = A [i];
A [i] = A [j];
A [j] = aux;
} //swap
} //while (I<J)

A [izq] = A [j]; // substituye Aizq pot Aj pues alli va el pivote


A [j] = pivote; // Izq -> Aj-1 puede estar sin sortear
// Aj+1 -> Der puede estar sin sortear

if (izq < j - 1)
{ // La recursividad Izq
quicksort (A, izq, j - 1);
}

if (j + 1 < der)
{ // La recursividad Der
quicksort (A, j + 1, der);
}
} // quicksort

public static void main (String[] args)


{

int[] q = {36, 62, 34, 9, 12, 14, 16, 8, 30, 56, 4};

for (int qk:


q)
{
System.out.print (" " + qk);
}
System.out.println ("\n");
quicksort (q, 0, q.length - 1);

for (int qk:


q)
{
System.out.print (" " + qk);
}
System.out.println ("\n");

} //main
} //Class

//dijkstra
S={1};
for(

También podría gustarte