Estou tentando usar o método Quick sort mais não estou conseguindo alguém pode me da uma dica de como eu faço para passar parâmentros pro método,
que o método recebe e o seguinte
private static void ordena(int a[], int p, int u)
o primeiro e o vetor e esse p e u o que é isso???
vo deixar o código aqui embaixo quem souber por favor implemente ou me da uma dica de como passar esses parâmetros
import javax.swing.JOptionPane;
public class Quick
{
/*----------------------------------------------------------------------*/
/* Ordena uma rray pelo método QuickSort (recursivo). */
/* Escolhe o pivô da partição aleatoriamente para minimizar proba- */
/* bilidade de tamanhos muito diferentes das duas metades do ARRAY. */
/* Rearranja o array de tal modo que: */
/* Elementos da primeira metade sejam menores que o pivô */
/* Elementos da segunda metade sejam maiores que o pivô */
/* Parâmetros: array, índices do início e fim do subarray. */
/*----------------------------------------------------------------------*/
private static void ordena(int a[], int p, int u)
{
int i = p, f = u; // Extremos
int x = (int) (Math.random()*(u-p+1))+p; // Aleatório
int pivô = a[x]; // para evitar quadrático
while (i <= f)
{ // Enquanto não se cruzarem
while (i < u && a[i] < pivô) i++; // Organiza primeira metade
while (f > p && a[f] > pivô) f--; // Organiza segunda metade
if (i <= f) { // Se ainda não acabou
x = a[f]; // troca os elementos
a[f--] = a[i]; // dos dois lados
a[i++] = x; // da lista
}
}
if (p < f) ordena(a,p,f); // a[p]..a[f] < pivô
if (i < u) ordena(a,i,u); // a[i]..a[u] > pivô
}
public static void main(String args[])
{
int vet[] = new int [10];
int i;
for(i=0;i<vet.length;i++)
{
vet[i]=Integer.parseInt(JOptionPane.showInputDialog("Dígite o "+(i+1)+"° número"));
ordena(vet);
}
}
/*----------------------------------------------------------------------*/
/* Chamada do usuário (mesma para todos os algoritmos). */
/*----------------------------------------------------------------------*/
}