sábado, 7 de enero de 2017

Arrays: Función para ordenar un array

Escribe una función que reciba como parámetro un array de números enteros y los ordene de menor a mayor en dicho array
Desde la función principal tendrás que generar un array de números enteros aleatorios comprendidos entre 1 y 100, mostrarlos sin ordenar y mostrarlos depués de haber llamado a la función que los ordena.


Ejemplo:
Números sin ordenadar:
4 16 93 86 90 72 76 57 69 71

Números ordenados:
4 16 57 69 71 72 76 86 90 93


SOLUCIÓN EN JAVA:
package ordenararray;

public class OrdenarArray {

    static void ordena(int[] lista){
        int aux,i,j;
        
        for (i=0;i < lista.length;i++){
            for (j=i;j < lista.length;j++){
                //Si el elemento lista[i] es superior a cualquiera que hay detrás de él
                //tenemos que intercambiarlo, de esta forma, al finalizar el bucle anidado
                //el elemento lista[i] será menor que todos los que quedan a su derecha
                if (lista[i]>lista[j]){
                    aux=lista[i];
                    lista[i]=lista[j];
                    lista[j]=aux;
                }
            }
        }
    }
    public static void main(String[] args) {
        int[] numeros=new int[10];
        int i;
        
        for (i=0;i < numeros.length ; i++){
            numeros[i]=(int)(Math.random()*100+1);
        }
        System.out.println("Números sin ordenadar:");
        for (i=0;i < numeros.length; i++){
            System.out.print(numeros[i]+" ");
        }
        System.out.println();
        ordena(numeros);
        System.out.println("Números ordenados:");
        for (i=0;i < numeros.length; i++){
            System.out.print(numeros[i]+" ");
        }
    }
}

No hay comentarios:

Publicar un comentario