Buscar

Permutação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

public class Permutacao { 
 //numero da permutacao atual 
 private static int contPermu = 0; 
 
 //armazena a permutacao 
 private static char[] resultado; 
 
 public static void permutar(char [] vet) { 
 resultado = new char[vet.length]; 
 permutar_rec(vet,0); 
 } 
 
 private static void permutar_rec(char []vet, int n) { 
 if (n == vet.length) { 
 contPermu++; 
 
 System.out.println(); 
 System.out.print("[" + contPermu + "] : "); 
 for (int i = 0; i < resultado.length; i++) 
 System.out.print(resultado[i] + " "); 
 } 
 else { 
 for (int i = 0; i < vet.length; i++) { 
 boolean repetido = false; 
 
 for (int j = 0; j < n; j++) { 
 if (resultado[j] == vet[i]) repetido = true; 
 } 
 
 if (!repetido) { 
 resultado[n] = vet[i]; 
 permutar_rec(vet,n+1); 
 } 
 } 
 } 
 } 
 
 public static void main(String[] args) { 
 char v[] = {'A','B','C', 'D', 'E'}; 
 permutar(v); 
 } 
}

Outros materiais