生成排列算法
2005-04-29 19:58
351 查看
生成排列算法
#include <stdio.h>
int n;
int visited[20];
int workarr[20];
void DFS(int l)
{
int i;
if (l == n)
{
for (i=0; i<l; i++)
printf("%d ", workarr[i]+1);
printf("/n");
return;
}
for (i=0; i<n; i++)
if (!visited[i])
{
visited[i] = 1;
workarr[l] = i;
DFS(l+1);
visited[i] = 0;
}
}
int main()
{
int i;
while (scanf("%d", &n) != EOF)
{
for (i=0; i<n; i++)
visited[i] = 0;
DFS(0);
}
return 0;
}
#include <stdio.h>
int n;
int visited[20];
int workarr[20];
void DFS(int l)
{
int i;
if (l == n)
{
for (i=0; i<l; i++)
printf("%d ", workarr[i]+1);
printf("/n");
return;
}
for (i=0; i<n; i++)
if (!visited[i])
{
visited[i] = 1;
workarr[l] = i;
DFS(l+1);
visited[i] = 0;
}
}
int main()
{
int i;
while (scanf("%d", &n) != EOF)
{
for (i=0; i<n; i++)
visited[i] = 0;
DFS(0);
}
return 0;
}
相关文章推荐
- JohnsonTroter 排列生成算法
- 高效的排列生成算法
- 随机排列生成算法的一些随想
- 排列算法,生成排列C++permutation
- 减治法(二) 生成排列的减治算法及其他算法
- 排列组合算法1:生成全部有序列b
- 基本算法:生成元素数组的所有排列(permute)
- 生成{1,2,...,n}的排列的算法-组合数学
- 一个php实现的生成排列的算法
- 数据结构:全排列的生成算法
- 随机排列生成算法的一些随想
- 算法设计与分析-减治法2:生成排列的减治算法及其他算法
- 生成排列算法
- 全排列的生成算法
- 基础算法之排列组合生成算法
- 排列生成算法实现java
- 随机排列生成算法的一些随想
- 全排列生成算法:next_permutation
- 排列生成算法注意事项
- 排列的字典序生成算法(自然解法)