0

可能重复:
打印给定元素排列的程序

我试图找到一种方法来找到 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]
    }
}

}

4

0 回答 0