代码:

int main()
{
    int n,p[10];
    cin>>n;
    for(int i=0;i<n;i++)
        cin>>p[i];
    sort(p,p+n);
    do{
        for(int i=0;i<n;i++)
            printf("%d ",p[i]);
        printf("\n");
    }while(next_permutation(p,p+n));
    return 0;
}

输出:

n=3,p[]={4,2,1}时

1 2 4 
1 4 2 
2 1 4 
2 4 1 
4 1 2 
4 2 1