next_permutation写法
int main(){
int a[] = {1,2,3};
do{
for(auto i : a) {
cout << i << " ";
}
cout << endl ;
}while(next_permutation(a, a+3) );
return 0;
}
dfs 的写法
// dfs 求全排列
int a[10] ; //结果数组
int vis[10] ; //标记数组
int n = 3;
void dfs(int u)
{
if(u == n) {
for(int i=0; i<n; i++) {
cout << a[i] << " ";
}
cout << endl ;
return ;
}
for(int i=1; i<=n; i++){
if(!vis[i]) {
vis[i] = true ;
a[u] = i ;
dfs(u+1);
a[u] = 0 ;
vis[i] = false ;
}
}
}
int main(){
dfs(0) ;
return 0;
}
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com