public class Permutacoes {
private static int cont = 0;
private static int[] p;
public static void permuta(int[] vet) {
p = new int[vet.length];
permuta(vet, 0);
}
static void permuta(int[] vet, int n) {
if (n == vet.length) {
cont++;
imprime();
} else {
for (int i = 0; i < vet.length; i++) {
boolean achou = false;
for (int j = 0; j < n; j++) {
if (p[j] == vet[i]) {
achou = true;
}
}
if (!achou) {
p[n] = vet[i];
permuta(vet, n + 1);
}
}
}
}
private static void imprime() {
System.out.println();
System.out.print("(" + cont + "):");
for (int i = 0; i < p.length; i++) {
System.out.print(p[i] + " ");
}
}
}
public class JavaApplication7 {
public static void main(String[] args) {
int v[] = {1,2,3};
Permutacoes.permuta(v);
}