解决数字的全排列问题(dfs)

Posted 最爱小崔同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决数字的全排列问题(dfs)相关的知识,希望对你有一定的参考价值。

//排列数字
#include<iostream>
using namespace std;
const int N=10;
int n;
bool st[N];
int path[N];
void dfs(int u)

    if(u==n) 
    
        for(int i=0;i<n;i++)
        
            printf("%d",path[i]);
        
        puts("");
        return ;
    
    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);
    return 0;

 

以上是关于解决数字的全排列问题(dfs)的主要内容,如果未能解决你的问题,请参考以下文章

python实现基础的深度优先搜索(DFS, depth first search)解决数的全排列问题

用DFS 解决全排列问题的思想详解

DFS 之 全排列

nyist oj 19 擅长排列的小明(dfs搜索+STL)

DFS_46. 全排列

dfs——n的全排列(回溯)