Estoy tratando de hacer un programa que consista en una matriz de 10 enteros que tengan un valor aleatorio, hasta ahora muy bueno.
Sin embargo, ahora necesito ordenarlos en orden de menor a mayor valor y luego imprimirlos en la pantalla, ¿cómo lo haría?
(Perdón por tener tanto código para un programa tan pequeño, no soy tan bueno con los bucles, acabo de comenzar a trabajar con Java)
public static void main(String args[])
{
int [] array = new int[10];
array[0] = ((int)(Math.random()*100+1));
array[1] = ((int)(Math.random()*100+1));
array[2] = ((int)(Math.random()*100+1));
array[3] = ((int)(Math.random()*100+1));
array[4] = ((int)(Math.random()*100+1));
array[5] = ((int)(Math.random()*100+1));
array[6] = ((int)(Math.random()*100+1));
array[7] = ((int)(Math.random()*100+1));
array[8] = ((int)(Math.random()*100+1));
array[9] = ((int)(Math.random()*100+1));
System.out.println(array[0] +" " + array[1] +" " + array[2] +" " + array[3]
+" " + array[4] +" " + array[5]+" " + array[6]+" " + array[7]+" "
+ array[8]+" " + array[9] );
}
Respuestas:
Los bucles también son muy útiles para aprender, especialmente cuando se usan matrices,
fuente
Agregue la línea antes de println y su matriz se ordenará
fuente
Puede ayudarlo a comprender los bucles al implementarse usted mismo. Ver Bubble sort es fácil de entender:
Por supuesto, no debe usarlo en producción ya que existen mejores algoritmos de rendimiento para listas grandes como QuickSort o MergeSort que implementan
Arrays.sort(array)
fuente
Eche un vistazo a Arrays.sort ()
fuente
Fui vago y agregué los bucles
Su matriz tiene una longitud de 10. Necesita una variable (
i
) que toma los valores de0
a9
.Es una biblioteca de métodos que ordena las matrices.
fuente
hará el trabajo perfectamente
fuente
Vea a continuación, le dará orden ascendente y descendente
La salida será
Nota: Puede usar Math.ranodm en lugar de agregar números manuales. Avísame si necesito cambiar el código ...
Buena suerte ... ¡Salud!
fuente
Integer
cuando puede usarint
, ya que hacerlo provocará lentitud.fuente
Aquí está cómo usar esto en su programa:
fuente
solo para su información, ahora puede usar la nueva API de Java 8 para ordenar cualquier tipo de matriz usando
parallelSort
parallelSort
utiliza el marco de Fork / Join introducido en Java 7 para asignar las tareas de clasificación a varios subprocesos disponibles en el grupo de subprocesos.los dos métodos que se pueden usar para ordenar la
int
matriz,fuente
Por orden natural:
Arrays.sort(array)
Para el orden inverso:
Arrays.sort(array, Collections.reverseOrder());
-> Es un método estático en la clase Colecciones que además llamará a una clase interna de sí mismo para devolver un Comparador inverso.fuente
Puede ordenar una matriz int con
Arrays.sort( array )
.fuente
Java 8 ofrece la opción de usar flujos que se pueden usar para ordenar
int[] array
como:Como se menciona en el documento para
parallelSort
:Entonces, si la matriz de entrada es menor que la granularidad (8192 elementos en Java 9 y 4096 en Java 8, creo),
parallelSort
simplemente llama al algoritmo de ordenación secuencial.En caso de que queramos revertir la ordenación de la matriz entera, podemos hacer uso del comparador como:
Como Java no tiene forma de ordenar primitivas con un comparador personalizado, tenemos que usar el boxeo intermedio o alguna otra biblioteca de terceros que implemente dicha ordenación primitiva.
fuente
Puede usar la función Arrays.sort () .
fuente
¡LA MANERA MÁS EFICAZ!
fuente
Si desea construir el algoritmo de ordenación rápida usted mismo y comprender mejor cómo funciona, consulte el siguiente código:
1- Crear clase de clasificación
2- Envía tu matriz sin clasificar a
Quicksort
clase3- salida
fuente
También podemos usar el árbol de búsqueda binario para obtener una matriz ordenada mediante el método transversal en orden. El código también tiene la implementación del árbol de búsqueda binario básico a continuación.
}
fuente