递归实现排列类枚举(c++实现)

2023-12-22 11:09:37
#include<iostream>
using namespace std;
const int N=11;
int n;
int path[N];
bool st[N];

void dfs(int u){
    if(u==n){
        for(int i=0;i<n;i++) printf("%d ",path[i]);
        puts("");
    }
    
    for(int i=1;i<=n;i++){
        if(!st[i]){
            path[u] = i;
            st[i] = true;
            dfs(u+1);
            st[i] = false;
        }
    }
}

int main(){
    scanf("%d",&n);
    
    dfs(0);
}

文章来源:https://blog.csdn.net/zyang654321/article/details/135146481
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。