美文网首页
基础之全排列

基础之全排列

作者: YuhangQ | 来源:发表于2017-04-28 18:48 被阅读0次

    很基本的算法,使用DFS实现

    #include <iostream>
    using namespace std;
    const int MAXN = 100;
    int n;
    int used[MAXN];
    int ans[MAXN];
    void dfs(int pre) {
        if(pre == n + 1) {
            for(int i=1; i<=n; i++) cout << ans[i] << " ";
            cout << endl;
            return;
        }
        for(int i=1; i<=n; i++) {
            if(used[i]) continue;
            used[i] = true;
            ans[pre] = i;
            dfs(pre + 1);
            used[i] = false;
        }
    }
    int main() {
    
        cin >> n;
        dfs(1);
    
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:基础之全排列

          本文链接:https://www.haomeiwen.com/subject/mesazttx.html