Description输出自然数1到n所有不重复的排列即n的全排列要求所产生的任一数字序列中不允许出现重复的数字。Inputn(1≤n≤9)Output由1n组成的所有不重复的数字序列每行一个序列。#includebits/stdc.h using namespace std; bool vis[9*9*9]; int ans[9*9*9]; int n; void dfs(int k){ if(kn){ for(int i0;in;i) coutsetw(5)ans[i]; cout\n; return; } for(int i0;in;i){ if(!vis[i]){ vis[i]true; ans[k]i1; dfs(k1); vis[i]false; } } } int main() { cinn; dfs(0); return 0; }
C++全排列问题
Description输出自然数1到n所有不重复的排列即n的全排列要求所产生的任一数字序列中不允许出现重复的数字。Inputn(1≤n≤9)Output由1n组成的所有不重复的数字序列每行一个序列。#includebits/stdc.h using namespace std; bool vis[9*9*9]; int ans[9*9*9]; int n; void dfs(int k){ if(kn){ for(int i0;in;i) coutsetw(5)ans[i]; cout\n; return; } for(int i0;in;i){ if(!vis[i]){ vis[i]true; ans[k]i1; dfs(k1); vis[i]false; } } } int main() { cinn; dfs(0); return 0; }