编辑代码

#include <iostream>
using namespace std;

void display(int nums[],int n){
    for(int i=0;i<n;i++){
        cout<<nums[i]<<' ';
    }
    cout<<endl;
}

void swap(int &a,int &b){
    int t=a;
    a=b;
    b=t;
}

void dfs(int nums[],int start,int end){
    if(start==end){
        display(nums,end);
        return ;
    }
    for(int i=start;i<end;i++){
        swap(nums[start],nums[i]);
        dfs(nums,start+1,end);
        swap(nums[start],nums[i]);
    }
}

void fullyArranged(int nums[],int n){
    dfs(nums,0,n);
}

int main() {
    int n;
    cin>>n;
    int nums[n];
    for(int i=0;i<n;i++){
        nums[i]=i+1;
    }
    fullyArranged(nums,n);
}