zoukankan      html  css  js  c++  java
  • 回溯法求n的全排列

    代码如下:

    #include <iostream>
    #include <algorithm>
    #include <stdio.h>
    #include <cstring>
    #include <cmath>
    #include <map>
    #include <bitset>
    using namespace std;
    typedef long long LL;
    int x[105];
    int n;
    void Backtrack(int t)
    {
        if(t==n){
            for(int i=1;i<=n;i++)
            cout<<x[i]<<" ";
            cout<<endl;
            return ;
        }
        for(int i=t;i<=n;i++)
        {
            swap(x[i],x[t]);
            Backtrack(t+1);
            swap(x[i],x[t]);
        }
    }
    int main()
    {
        for(int i=1;i<105;i++)
            x[i]=i;
        while(scanf("%d",&n)!=EOF)
        {
            cout<<n<<"的全排列如下:"<<endl;
            Backtrack(1);
            cout<<"finish!"<<endl;
        }
        return 0;
    }

    运行截图:

  • 相关阅读:
    112.路径总和
    二叉树的中序遍历
    HTML基础及案例
    web概念概述
    Spring JDBC
    数据库连接池
    JDBC连接池&JDBCTemplate
    JDBC
    MySQL多表&事务
    DCL
  • 原文地址:https://www.cnblogs.com/chen9510/p/5974879.html
Copyright © 2011-2022 走看看