现在的位置: 首页 > 竞赛 > 正文

递归,排列

2011年03月26日 竞赛 ⁄ 共 100字 ⁄ 字号 暂无评论

递归和排列

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
 
#define SIZE 10
 
int print_permulation(int n, int A[], int cur)
{
	int i, j;
	int ok;
 
	if (cur==n) {
		for (i=0; i<n; i++) printf("%d ", A[i]);
		printf("n");
	} else {
		for (i=1; i<=n; i++) {
			ok = 1;
			for (j=0; j<cur; j++)
				if (A[j]==i) ok = 0;
			if (ok) {
				A[j] = i;
				print_permulation(n, A, cur+1);
			}
		}
	}
}
 
int main(int argc, char *argv[])
{
	int A[SIZE];
 
	A[0]=1; A[1]=2; A[2]=3;
	print_permulation(3, A, 0);
 
	return 0;
}
【上篇】
【下篇】

抱歉!评论已关闭.