c语言,求12345的全排列,递归方法,在网上看了很多没有理解,求代码,然后一步步解析。感觉对递归 50
c语言,求12345的全排列,递归方法,在网上看了很多没有理解,求代码,然后一步步解析。感觉对递归不敏感。。...
c语言,求12345的全排列,递归方法,在网上看了很多没有理解,求代码,然后一步步解析。感觉对递归不敏感。。
展开
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int q[1000][2];
void BFS()
{
int front=-1,rear=0;
int i,s,d,ts,td;
q[0][0]=1;
q[0][1]=2;
while(front!=rear)
{
front++;
d=q[front][0];
s=q[front][1];
for(i=1;i<=5;i++)
{
if((1<<i)&s)continue;
ts=s+(1<<i);
td=d*10+i;
printf("%d\n",td);
rear++;
q[rear][0]=td;
q[rear][1]=ts;
}
}
}
int main()
{
BFS();
return 0;
}
#include <stdlib.h>
#include <string.h>
int q[1000][2];
void BFS()
{
int front=-1,rear=0;
int i,s,d,ts,td;
q[0][0]=1;
q[0][1]=2;
while(front!=rear)
{
front++;
d=q[front][0];
s=q[front][1];
for(i=1;i<=5;i++)
{
if((1<<i)&s)continue;
ts=s+(1<<i);
td=d*10+i;
printf("%d\n",td);
rear++;
q[rear][0]=td;
q[rear][1]=ts;
}
}
}
int main()
{
BFS();
return 0;
}
追问
求解释,不要纯代码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询