Ordenar cualquier array de numeros en JAVA
Con esta código podremos ordenar cualquier array de números ya sean de tipo int, como en el ejemplo o de cualquier otro tipo como byte, short, long, float o double.
public static int[] ordenarArray(int[] n) { int aux; for (int i = 0; i < n.length - 1; i++) { for (int x = i + 1; x < n.length; x++) { if (n[x] < n[i]) { aux = n[i]; n[i] = n[x]; n[x] = aux; } } } return n; }Para ordenar un array un tipo diferente al del ejemplo, tan solo debemos cambiar los tipos de retorno, el del parámetro de entrada y el tipo de la variable aux presente en la función por el tipo del array a ordenar.
Buen método Alejandro. Gracias por aportar a la comunidad Java.
ResponderEliminarmmmm como ejecuto ese programa?????
ResponderEliminarPues simplemente tienes que crear un archivo donde estará la clase que contendrá el método, por ejemplo llámalo "Ordenar.java", y en él defines una clase con el mismo nombre que el fichero de la siguiente manera:
ResponderEliminarpublic class Ordenar {
//Los miembros de la clase como atributos o metodos
}
Y dentro de estas llaves metes la función de esta entrada, y ya podrás crear en el main un array, darle valores, llamar a este método pasándole el array desordenado, y después de esa llamada, tu array estará ordenado.
Si tienes dudas iniciales, en este blog hay un manual de iniciación a Java, en la parte superior derecha de la web encontrarás el enlace llamado Guia Java.
Saludos.
Oye disculpa, podrias ayudarme lo que pasa es que necesito un programa donde meta una cadena como por ejemplo "5980" me imprima este valor "0589" de forma ordenada la verdad no tengo mucha idea como lograrlo, este es el codigo que llevo en arrays, con el mismo codigo de este post! lo complete para poder ingresar valores al arreglo, por favor help!
Eliminarimport java.util.Scanner;
public class Autos {
//*************************************************************
public static int [] ordenarArray(int[] n) {
int aux;
for (int i = 0; i < n.length - 1; i++) {
for (int x = i + 1; x < n.length; x++) {
if (n[x] < n[i]) {
aux = n[i];
n[i] = n[x];
n[x] = aux;
}
}
}
return n;
}
//*************************************
public static void main (String [] args){
//---------------------------------------------------
Scanner lector = new Scanner (System.in);
int lista[]=new int[20];
int i,lim;
System.out.println("Ingresa el limite... ");
lim=lector.nextInt();
for(i=0;i<lim;i++){
System.out.println("X["+(i+1)+"]= ");
lista[i]=lector.nextInt();
}
for(i=0;i<lim;i++){
System.out.print(lista[i]+", ");
}
//----------------------------------------------------------
lista[i].ordenarArray();
System.out.println("si");
}
}
Disculpa este el método por inserción directa?
ResponderEliminarNo, este seria un método de selección directa un tanto ineficiente, a su vez, para mi es el método más sencillo para ordenar y por eso lo puse en la entrada.
EliminarEl método de inserción directa consiste en insertar los elementos desde 1 hasta tamaño - 1 en su posición correcta, comprobando desde el elemento a insertar-1 hasta 0, desplazando los números mayor a este a la derecha.
Saludos.
no
Eliminarnecesito ayuda necesito ordenar un arreglo desde el numero que aparesca en el centro del arreglo si es de 10 que empiece en el 5 ny despues aparescan lo9s demas
ResponderEliminarBuenas necesito me colaboren con propblemita de vectores.como hago para unir dos vectores del mismo tamaño y luego crear otro vector y ordenarlo siendo los datos de tipo int
ResponderEliminarEsta es una invitación abierta para que todos ustedes formen parte de la organización más grande del mundo y lleguen a la cima de su carrera. A medida que comienza el programador de reclutamiento de este año y nuestra fiesta anual de cosecha está casi a la mano. El Gran Maestro nos dio el mandato de llegar siempre a personas como usted, así que aproveche esta oportunidad y únase a la gran organización Illuminati, únase a nuestra unidad global. Trae a los pobres, necesitados y talentosos a
ResponderEliminarLa prominencia de la fama y la riqueza. Obtenga dinero, fama, poderes, seguridad, consiga.
reconocido en su negocio, carrera política, ascienda a lo más alto en lo que sea que haga, sea
¡Protegido espiritual y físicamente! Todo esto lo lograrás en
un brillo de ojos
Los Illuminati no tienen asociación con el satanismo, el luciferismo o ninguna religión. Si bien nuestros miembros individuales pueden seguir a cualquier deidad que elijan, operamos únicamente para el beneficio y la protección de la especie humana.
¿Aceptas ser miembro de este nuevo orden mundial de los Illuminati?
Llamada y WhatsApp +19735567426
📩 carlosmacdonald234@gmail.com