此题是求的数字全排列
可以借助于C++中的#<algorithm>中的next_permutation(计算下一个的全排列)
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<vector<int>> permute(vector<int> &nums){
vector<int> data = nums;
vector<vector<int>> res;
do{
res.push_back(nums);//先将nums进入数组
next_permutation(nums.begin(),nums.end());//求nums的下一个全排列并改变nums的值
}while(data!=nums);//注意这里要加分号
return res;
}
int main(){
vector<int> nums;
nums.push_back(1);
nums.push_back(2);
nums.push_back(3);
vector<vector<int>> m = permute(nums);
int len= m.size();
for(int i =0;i<len;++i){//输出
int len1 = data[i].size();
for(int j = 0;j<len1;++j){
cout<<m[i][j]<<","
}
cout<<m[i][len1-1]<<endl;
}
return 0;
}