| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2296 人关注过本帖
标题:[求助]问一个“全排列算法”的问题
取消只看楼主 加入收藏
totohack
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-15
收藏
 问题点数:0 回复次数:2 
[求助]问一个“全排列算法”的问题
问题:0-9的数进行全排列,也就是
0123456789
0123456798
0123456879
...........
...........
9876543210

一行数中不能有重复的数字。

要求:不用goto,少用嵌套循环,嵌套不超过6次,越少越好

求一算法,我百思不得其解,大家有什么好建议,尽管提出来,在这,我先谢过大家了。
搜索更多相关主题的帖子: 全排列算法 嵌套 goto 数字 
2007-07-21 17:10
totohack
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-15
收藏
得分:0 
有道理,我再好好想想!

2007-07-21 20:46
totohack
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2007-7-15
收藏
得分:0 
leeco

写的不错

这是我写的,能排列0~9的数

[CODE]
/******************************/
/******dev-cpp v4.9.9.2********/
/******************************/

#include <stdio.h>
#include <string.h>

int o[10];

int d(int b)
{
bool k=0;
if(b==10)
{
printf("%d %d %d %d %d %d %d %d %d %d\n",o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7],o[8],o[9]);
return 0;
}
else
{
for(int i=0;i<10;i++)
{
if(b>0)
for(int j=0;j<b;j++)
{
if(i==o[j])
{
k=!k;
break;
}
}
if(k)
{
k=!k;
continue;
}
o[b]=i;
d(b+1);

}


}
return 0;
}

int main()
{
o[0]=0;
d(0);
}
[/CODE]

2007-08-02 18:15
快速回复:[求助]问一个“全排列算法”的问题
数据加载中...
 
   



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

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