[算法课][全排列]图示123全排列,不能再清楚了 原创

算法标签:全排列

图示

在这里插入图片描述

思路

通过二叉树的先序遍历走并且回溯

重要的是弄清走法与怎么样交换达到全排列不重不漏的目的

AC代码

#include<iostream>

using namespace std;

void dfs(int a[],int n,int i)
{
    if(i==n){for(int i =0;i<n;i++)cout<<a[i];cout<<endl;return ;}

    //如果是123全排列的话。
    //第一层是a[0]到a[0]到a[2]交换
    //第一层是a[1]到a[1]到a[2]交换
    for(int j=i;j<n;j++)
    {
        swap(a[i],a[j]);
        dfs(a,n,i+1);
        swap(a[i],a[j]);
    }

}
posted @ 2023-03-06 12:39  俺叫西西弗斯  阅读(0)  评论(0)    收藏  举报  来源