Java - Ayuda con métodos de recursividad.

 
Vista:

Ayuda con métodos de recursividad.

Publicado por Brian (1 intervención) el 01/06/2020 00:34:25
Hola actualmente me encuentro estudiando la recursividad, algunos métodos yo si los he podido realizar pero estos que retornan ya sea un vector o un boolean no encuentro forma de hacerlo, es posible? y si pueden dar algunos consejos para hacer métodos recursivos se los agradezco.

Como serian estos 4 metodos?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public String[] guardarVector(String[] v) {
	String[] aux = new String[v.length-1];
	for(int i=1; i<v.length;i++) {
		aux[i-1]=v[i];
	}
	return aux;
}
 
public boolean esInorden(String[]in) {
	for(int i=0; i<in.length-1;i++) {
		if(Integer.parseInt(in[i]) > Integer.parseInt(in[i+1])) {
	 		return false;
		}
	}
	return true;
    }
 
public boolean sonDiferentes(String[] R1, String[]R2) {
	int bandera=0;
	for(int i=0; i<R1.length;i++) {
		if(R1[i].equals(R2[i])) {
		bandera+=1;
   	 	}
	}
	if(bandera==R1.length) {
		return false;
	}
	return true;
    }
 
public String[] invertirVector(String[] R1) {
    	String[] aux = new String[R1.length];
    	int j=R1.length-1;
    	for(int i=0; i<aux.length; i++) {
    		aux[i]=R1[j];
    		j--;
    	}
    	return aux;
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con métodos de recursividad.

Publicado por Costero (148 intervenciones) el 01/06/2020 17:20:08
Aqui uno para que te de una idea. Debe de ayudarte con los demas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class Recursion {
    public static void main(final String[] args) {
        Recursion recursion = new Recursion();
        final String[] values = { "3", "2", "1" };
        final String[] result = recursion.guardarVector(values);
 
        System.out.println("Resultado sin recursion");
        recursion.printResult(result);
 
        System.out.println("\n");
        final String[] aux = new String[values.length - 1];
        recursion.guardarVectorRec(values, aux, 1);
        System.out.println("Resultado con recursion");
        recursion.printResult(aux);
 
    }
 
    private String[] guardarVector(final String[] v) {
        final String[] aux = new String[v.length - 1];
        for (int i = 1; i < v.length; i++) {
            aux[i - 1] = v[i];
        }
        return aux;
    }
 
    private void guardarVectorRec(final String[] v, final String[] aux, int index) {
        if(index < v.length) {
            aux[index -1] = v[index++];
            guardarVectorRec(v, aux, index);
        }
    }
 
    private void printResult(String [] result) {
        for(int i = 0; i < result.length; ++i) {
            System.out.print(result[i] + " | " );
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar