递归实现全排列序列C语言实现

大家好,我是小鸭酱,博客地址为:http://www.cnblogs.com/xiaoyajiang

以下鄙人用递归回溯的办法,采用C语言实现了全排列序列,用以某些优化方案的原始方案的给定

#include<stdio.h>
 
#define N 4
 
int U[N] = {0};
int A[N] = {0};
 
void Try(i)
{
int j;
for (j = 0 ; j < N ; j++)
{
if(U[j] == 0)
{
A[i] = j ;
U[j] = 1 ;
if(i == N-1)
{
int k;
for (k = 0 ; k < N ; k++)
printf("%d ",A[k]);
printf("\n");
}
else
{
Try(i+1);
}
U[j] = 0 ;
}
}
}
 
int main(void)
{
Try(0);
return 0;
}

 

posted @ 2016-10-11 18:19  小鸭酱的书签  阅读(1505)  评论(0编辑  收藏  举报