当前位置: 代码迷 >> C语言 >> [求助]问一个“全排列算法”的问题
  详细解决方案

[求助]问一个“全排列算法”的问题

热度:329   发布时间:2007-08-02 18:15:05.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]
----------------解决方案--------------------------------------------------------
  相关解决方案