排列数字(dfs)

排列数字

给定一个整数 n,将数字 1∼n排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入格式

共一行,包含一个整数 n。

输出格式

按字典序输出所有排列方案,每个方案占一行。

数据范围

1≤n≤7

输入样例:

3

输出样例:

1 2 3

1 3 2

2 1 3

2 3 1

3 1 2

3 2 1

cpp 复制代码
#include<iostream>

using namespace std;

const int N=10;

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]);
        printf("\n");
        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(){
    cin>>n;
    dfs(0);
    return 0;
}
相关推荐
归去_来兮13 小时前
拉格朗日插值算法原理及简单示例
算法·数据分析·拉格朗日插值
千寻girling19 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
颜酱1 天前
一步步实现字符串计算器:从「转整数」到「带括号与优化」
javascript·后端·算法
CoovallyAIHub2 天前
语音AI Agent编排框架!Pipecat斩获10K+ Star,60+集成开箱即用,亚秒级对话延迟接近真人反应速度!
深度学习·算法·计算机视觉
木心月转码ing2 天前
Hot100-Day14-T33搜索旋转排序数组
算法
会员源码网2 天前
内存泄漏(如未关闭流、缓存无限增长)
算法
颜酱2 天前
从0到1实现LFU缓存:思路拆解+代码落地
javascript·后端·算法
颜酱2 天前
从0到1实现LRU缓存:思路拆解+代码落地
javascript·后端·算法
CoovallyAIHub3 天前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉