diciembre 06, 2011

Imprimir un Arreglo de manera Inversa

Hace unos dias (como 10 o mas dias para ser precisos) un lector preguntaba como invertir un arreglo sin utilizar otro arreglo, es muy sencillo, para mostrar eso solo hace falta imprimir el arreglo ya creado de forma inversa con el for:

//Archivo: InvertirArreglo.java

public class InvertirArreglo{
      
       public static void main(String args[]){
            
             int numeros[] = {10, 20, 30, 40, 50};
            
              //Bloque 1: Impresion de nuestro arreglo.
             System.out.println("Indice\tValor");
             for(int contador=0; contador<numeros.length; contador++)
                    System.out.println(contador+"\t"+numeros[contador]);
            
              //Bloque 2: Impresión invertida del arreglo.
             System.out.println();
             System.out.println("Indice\tValor");
             for(int contador=numeros.length-1; contador>=0; contador--)
                    System.out.println(contador+"\t"+numeros[contador]);
       }
}

Se declara int numeros[] y se le asignan valores de 10, 20, 30, 40 y 50. En el bloque 1 se imprime nuestro arreglo de manera normal, ordenado en el orden en que fuimos insertando los elementos en el arreglo.

En el bloque 2 se imprimen los elementos de nuestro arreglo de forma inversa a como los fuimos insertando (de atrás hacia adelante). Para esto usamos un for indicando que nuestro contador empezara a contar desde  lo que retorne la función numeros.length (que retorna el tamaño de nuestro arreglo, en este caso: 5) menos 1, osea empezara a contar desde 4, que es el ultimo indice de nuestro arreglo numeros[], y le damos de condición de que pare de iterar hasta que contador llegue a 0 y en esta ocasión hacemos decremento de nuestro contador (así irá recorriendo nuestro arreglo de atrás para adelante: 4, 3, 2, 1 y 0 que son los indices de nuestro arreglo). Y finalmente en el cuerpo del for le indicamos que vaya imprimiendo cada linea, cada indice de nuestro arreglo con su respectivo valor.
Loading...