求全排列有个比较好的函数next_permutation,在algorithm里
话不多说,上代码

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
    vector<int>nums;
    for(int i=1;i<=8;i++) nums.push_back(i);
    do{
        for(int i=0;i<=7;i++)
        if(i==7) cout<<nums[i];
        else cout<<nums[i]<<" ";
        cout<<endl;
    }while(next_permutation(nums.begin(),nums.end()));
    return 0;
}