我试图找到一种方法如何在C中找到数组的所有可能的排列,但是它很难解决。
int[] permutations (int a[], int l) {
if (l == 1) {
return a;
}
int n[l-1];
int i, j, x, d;
for (i = 0; i < l; i++) {
printf("i = %d\n", i);
for (d = 0; d < l; d++) printf("a[%d] = %d\n", d, a[d]);
x = a[0];
a[0] = a[i];
a[i] = x;
for (j = 1; j < l; j++) {
n[j-1] = a[j];
}
for (k = 0; j < l; k++) {
a[k+1] = (permutations(n, l-1))[k]
}
}
}