| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1148 人关注过本帖
标题:c语言排列组合问题
只看楼主 加入收藏
liangkenan
Rank: 1
等 级:新手上路
帖 子:79
专家分:7
注 册:2011-9-16
结帖率:100%
收藏
 问题点数:0 回复次数:2 
c语言排列组合问题
有N个数,有数组a[N],如何编程使所有的排列情况都遍历一遍?,n是确定数,就是排列组合不太会
搜索更多相关主题的帖子: c语言 编程 
2011-11-21 15:37
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
程序代码:
#include<stdio.h>
void dfs(bool foot[],int mem[],int depth,int n)
{
    int i;
    if(n == depth)
    {       
        for(i = 0;i<n-1;i++)
            printf("%d ",mem[i]);
        printf("%d\n",mem[i]);
        return ;
    }
    for(i = 0;i<n;i++)
    {
        if(!foot[i])
        {
            foot[i] = true;
            mem[depth] = i+1;
            dfs(foot,mem,depth+1,n);
            foot[i] = false;
        }
    }
}
int main()
{
    int i,j,n;
    scanf("%d",&n);
    while(n--)
    {
        bool foot[8] = {0};
        int mem[8] = {0};
        int s;
        scanf("%d",&s);
        dfs(foot,mem,0,s);
    }
    return 0;
}
http://www. 深度优先搜索

                                         
===========深入<----------------->浅出============
2011-11-21 18:33
心灵百合
Rank: 5Rank: 5
等 级:职业侠客
帖 子:215
专家分:367
注 册:2011-3-30
收藏
得分:0 
用for循环
2011-11-22 19:31
快速回复:c语言排列组合问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025339 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved