Programming

T04-1D-A01. Recorrido alterno de un array

Enunciado

Escribe un programa en Java que recorra un array de N números enteros mostrándolos por pantalla en el siguiente orden:

  • El primero
  • El último
  • El segundo
  • El penúltimo
  • El tercero
  • El antepenúltimo
  • etc.

Ejemplo:

  • Con array formado por los siguientes números: 1, 2, 3, 4, 5, 6, 7, 8, se imprimiría lo siguiente: 1, 8, 2, 7, 3, 6, 4, 5
  • Con un array formado por los siguientes números: 1, 2, 3, 4, 5, 6, 7, se imprimiría lo siguiente 1, 7, 2, 6, 3, 5, 4

ENTRADA

La entrada comienza con un número indicando cuántos casos de prueba habrá que procesar.

Cada uno de los casos estará formado por una línea con el número N de elementos del array, donde N >= 0, y otra línea con los N elementos de dicho array separados por un espacio (si es que N > 0).

SALIDA

Por cada caso de prueba, el programa escribirá en una línea distinta, el resultado de hacer el recorrido alterno del array correspondiente.

Solución


											
import java.util.Scanner; /** * * @author AulaVirtual */ public class RecorridoAlterno { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner sc = new Scanner(System.in); int numCasos = 0; int sizeArray = 0; int[] arrayEnteros; int start, end; numCasos = sc.nextInt(); for (int i = 1; i <= numCasos; i++) { sizeArray = sc.nextInt(); arrayEnteros = new int[sizeArray]; for (int j = 0; j < arrayEnteros.length; j++) { arrayEnteros[j] = sc.nextInt(); } start = 0; end = arrayEnteros.length - 1; while (start <= end) { System.out.print(arrayEnteros[start] + " "); start++; if (end >= start) { System.out.print(arrayEnteros[end] + " "); end--; } } System.out.println(); } } }

Input

7 6 1 2 3 4 5 6 5 1 2 3 4 5 10 10 20 30 40 50 60 70 80 90 100 1 30 15 3 5 7 10 11 34 21 44 99 102 300 400 587 456 900 0 8 1 2 3 4 5 6 7 8
7 6 1 2 3 4 5 6 5 1 2 3 4 5 10 10 20 30 40 50 60 70 80 90 100 1 30 15 3 5 7 10 11 34 21 44 99 102 300 400 587 456 900 0 8 1 2 3 4 5 6 7 8

Output

1 6 2 5 3 4 1 5 2 4 3 10 100 20 90 30 80 40 70 50 60 30 3 900 5 456 7 587 10 400 11 300 34 102 21 99 44 1 8 2 7 3 6 4 5
1 6 2 5 3 4 1 5 2 4 3 10 100 20 90 30 80 40 70 50 60 30 3 900 5 456 7 587 10 400 11 300 34 102 21 99 44 1 8 2 7 3 6 4 5