Imprima todas las combinaciones de cadenas usando la función recursiva

Imprima todas las combinaciones posibles de una cadena dada usando la función recursiva en Java

Aquí usamos dos funciones recursivas dado que la cadena es "abcd":

  1. subcadena es responsable de generar todas las subcadenas posibles de una cadena dada en la dirección de avance, es decir, a, ab, abc, abcd, b, bc, bcd, c, cd y d
  2. permutación es responsable de generar todas las permutaciones posibles de la subcadena generada por subcadena() método de la misma longitud para, por ejemplo, la posible permutación de abc es abc, acb, bac, bca, cab y cba
public class PrintAllCombinationOfString {

	public static void main(String[] args) {
		String s = "abcd";
		for (int i = 0; i < s.length(); i++) {
			substring(s, "", i);
		}
	}
	
	public static void substring(String content, String part, int index) {
		if (index >= content.length()) {
			return;
		}
		String sub = part + content.charAt(index);

		permutation("", sub);

		substring(content, sub, index + 1);
	}

	private static void permutation(String prefix, String str) {
		int n = str.length();
		if (n == 0) {
			System.out.println(prefix);
		} else {
			for (int i = 0; i < n; i++) {
				permutation(prefix + str.charAt(i), str.substring(0, i) + str.substring(i + 1, n));
			}
		}
	}
}

Output

a ab ba abc acb bac bca cab cba abcd abdc acbd acdb adbc adcb bacd badc bcad bcda bdac bdca cabd cadb cbad cbda cdab cdba dabc dacb dbac dbca dcab dcba b bc cb bcd bdc cbd cdb dbc dcb c cd dc d

Si quieres conocer otros artículos parecidos a Imprima todas las combinaciones de cadenas usando la función recursiva puedes visitar la categoría Tutoriales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas