全排列

· · 个人记录

#include <bits/stdc++.h> 
using namespace std;

int a[3] = {1, 2, 3};
int n = 3;

void fullPermutation(int array[], int left, int right) {
    if (left == right) {
        for (int i = 0; i < n; i++) {
            cout << array[i] << " ";
        }
        cout << endl;

        return;
    }

    for (int i = left; i <= right; i++) {
        swap(array[i], array[left]);
        fullPermutation(array, left + 1, right);
        swap(array[i], array[left]);
    }

}

int main() {

    fullPermutation(a, 0, n - 1);

    return 0;
}