// ----------------------------------------------------------- // Estruturas de Dados 2019/2020 (CC1007) - DCC/FCUP // http://www.dcc.fc.up.pt/~pribeiro/aulas/edados1920/ // ----------------------------------------------------------- // Invertendo um array (versao recursiva) // Ultima alteracao: 21/04/2018 // ----------------------------------------------------------- import java.util.Arrays; public class TestReverse { // Inverter array v entre posicoes start e end static void reverse(int v[], int start, int end) { if (start>=end) return; // Caso base: array de tamanho < 2 int tmp = v[start]; // Trocar primeiro com ultimo v[start] = v[end]; v[end] = tmp; reverse(v, start+1, end-1); // Chamada recursiva para o resto } // ----------------------------------------------------------- public static void main(String[] args) { int v[] = {2,4,6,8,10}; // Inicializacao de array System.out.println("Antes do reverse: " + Arrays.toString(v)); reverse(v, 0, v.length-1); System.out.println("Depois do reverse: " + Arrays.toString(v)); } }