Witam. Chcę napisać algorytm wypisujący wszystkie permutacje podanego zbioru i wykodziłem coś lecz dla permutacji o długości większej niż 2 się sypie, więc musi być jakiś błąd. Proszę o podpowiedź co robię źle, z góry dzięki!
public void wypiszPermutacje(Set ciag) { //jako parametr podczas wywoływania podaję HashSet<Integer>
if(ciag.size()==1) System.out.println(ciag.iterator().next());
else for(int i=1; i<=ciag.size(); i++) {
Set ciag2=new HashSet<Integer>();
ciag2.addAll(ciag);
Iterator it=ciag2.iterator();
for(int k=0; k<i-1; k++) it.next();
System.out.print(it.next());
it.remove();
wypiszPermutacje(ciag2);
}
}