全排列问题DFS实现执行示意图

【全排列问题DFS实现执行示意图】

【示意图依托的核心代码】

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
 
const int maxn=12;
int a[maxn],st[maxn];
int n;
 
//确定第pos位及后续位置的值
void dfs(int pos) {
    if(pos==n+1) {
        for(int i=1; i<=n; i++) {
            printf("%5d",a[i]);
        }
        printf("\n");
        return;
    }
 
    //枚举所有数字,尝试为当前位置pos选择一个可用值
    for(int i=1; i<=n; i++) {
        if(st[i]==0) {
            a[pos]=i;
            st[i]=1;
            dfs(pos+1);
            st[i]=0; //撒销选择
        }
    }
}
 
int main() {
    scanf("%d",&n);
    dfs(1);
    return 0;
}
 
/*
in:
3

out:
    1    2    3
    1    3    2
    2    1    3
    2    3    1
    3    1    2
    3    2    1
*/

【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/148295326

相关推荐
shylyly_34 分钟前
stack/queue中的deque
数据结构·c++·deque·双端队列·queue·stack·容器适配器
土司大王1 小时前
LeetCode hot100——缺失的第一个正数
数据结构·算法·leetcode
铅笔小新z2 小时前
【数据结构】顺序表和链表
数据结构·链表
不会就选b2 小时前
数据结构之栈的算法题(OJ)
linux·数据结构·算法
漂流瓶jz3 小时前
UVA-1609 不公平竞赛 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·链表·贪心·aoapc·算法竞赛入门经典·uva
hzxpaipai3 小时前
制造业官网产品信息架构怎么设计?从产品分类到后台数据结构
大数据·数据结构
专注API从业者4 小时前
Open‑Claw 实战|无需逆向,快速搭建电商商品监控与数据分析系统
开发语言·数据结构·数据库·数据分析·php
纪念 2294 小时前
数据结构排序(四)
开发语言·数据结构
SelectDB技术团队5 小时前
统一全文检索与 SQL 分析:Apache Doris 日志分析实践
大数据·数据结构·后端·python·全文检索·doris·日志分析
凉茶钱5 小时前
【数据结构】计数排序
数据结构·算法·排序算法