conteo recursividad

user9627233:

Estoy tratando de contar el número de veces que se ejecuta a través del bucle de recursión, pero sigue expulsando a algunos grandes números de locos que no son correctos. Creo que la primera pregunta que tengo es esto posible hacer y si es donde debo poner la cuenta en el método de permutación.

 package a02;

import java.util.Random;

public class permutations {
private static int count = 0;

static void permute(int[] a, int k) {
    if (k == a.length) {
        for (int i = 0; i < a.length; i++) {
            System.out.print(" [" + a[i] + "] ");
        }
        System.out.println();
    } else {
        for (int i = k; i < a.length; i++) {
            int temp = a[k];
            a[k] = a[i];
            a[i] = temp;

            permute(a, k + 1);

            temp = a[k];
            a[k] = a[i];
            a[i] = temp;
            count++;
        }
    }
}
mettleap:

En su función, el recuento ++ es dentro del bucle. Creo que es por eso que está recibiendo números muy grandes e incorrectas. Mover la declaración recuento ++ ya sea al inicio de su método permute o hacia el final antes de que vuelva y usted debe tener la salida correcta. (En su caso el recuento ++ debe estar fuera todo el bloque if-else)

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=221045&siteId=1
Recomendado
Clasificación