jx_kingwei的专栏

碧海潮生的小屋

生成排列算法

生成排列算法

#include <stdio.h>

int n;
int visited[20];
int workarr[20];

void DFS(int l)
{
    int i;
    if (l == n)
    {
        for (i=0; i<l; i++)
            printf("%d ", workarr[i]+1);
        printf("/n");
        return;
     }
     for (i=0; i<n; i++)
         if (!visited[i])
         {
             visited[i] = 1;
             workarr[l] = i;
             DFS(l+1);
             visited[i] = 0;
           }
     
}

int main()
{
    int i;
    while (scanf("%d", &n) != EOF)
    {
        for (i=0; i<n; i++)
            visited[i] = 0;
        DFS(0);
     }

    return 0;

阅读更多
文章标签: 算法
个人分类: 算法相关
想对作者说点什么? 我来说一句

组合数学之排列组合生成算法

2017年12月01日 1.21MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭