Java alle möglichen Kombinationen eines Arrays ausgeben?
Hallo, ich habe folgendes Problem:
Ich möchte gerne alle Kombinationen, die man mit einem 9 Zahlen langem Array haben kann, in der Konsole ausgeben lassen. Damit ihr das Problem besser versteht, werde ich es mit einem 4 Zahlen langen Array zeigen:
Array: {1,2,3,4}
Ausgabe:
Was auch noch wichtig zu beachten ist, ist dass eine Zahl in jeder Kombination nur einmal vorkommen darf.
1 Antwort
Vom Beitragsersteller als hilfreich ausgezeichnet
class HeapAlgo {
void printArr(int a[], int n)
{
for (int i = 0; i < n; i++)
System.out.print(a[i] + " ");
System.out.println();
}
void heapPermutation(int a[], int size, int n)
{
if (size == 1)
printArr(a, n);
for (int i = 0; i < size; i++) {
heapPermutation(a, size - 1, n);
if (size % 2 == 1) {
int temp = a[0];
a[0] = a[size - 1];
a[size - 1] = temp;
}
else {
int temp = a[i];
a[i] = a[size - 1];
a[size - 1] = temp;
}
}
}
public static void main(String args[])
{
HeapAlgo obj = new HeapAlgo();
int a[] = { 1, 2, 3 };
obj.heapPermutation(a, a.length, a.length);
}
}
Woher ich das weiß:Berufserfahrung – Studium der Informatik + Softwareentwickler seit 25 Jahren.