Академический Документы
Профессиональный Документы
Культура Документы
int num;
num=numero.nextInt();
int aux,x,y;
System.out.print("A["+(i+1)+"]=");
vector[i]=ordenar.nextInt();
aux = vector[x];
System.out.print("Arreglo= {");
System.out.print("}");
Luego el segundo mas pequeño, y así sucesivamente hasta ordenar todo el arreglo.
int num;
num=numero.nextInt();
int aux;
{
System.out.print("Datos["+(i+1)+"]=");
vector[i]=numero.nextInt();
}
for (int i = 0; i < num - 1; i++)
{
int min = i;
for (int j = i + 1; j < num; j++)
{
if (vector[j] < vector[min])
{
min = j;
}
}
if (i != min)
{
aux= vector[i];
vector[i] = vector[min];
vector[min] = aux;
}
}
System.out.print("Arreglo= {");
for (int i=0;i<num;i++)
{
System.out.print(vector[i]+ ", ");
}
System.out.print("}");
}
}
Lo que hace este algoritmo es dividir recursivamente el vector en partes iguales, indicando un elemento
de inicio, fin y un pivote (o comodín) que nos permitirá segmentar nuestra lista. Una vez dividida, lo
que hace, es dejar todos los mayores que el pivote a su derecha y todos los menores a su izq. Al
finalizar el algoritmo, nuestros elementos están ordenados.
if (izq == der)
{
quicksort2 (numeros,1,izq-1);
quicksort2 (numeros,izq+1,d);
}
}
}
else
return numeros;
return numeros;
}
}