全排列.cpp

来自「简单的全排列与组合问题的递归解法」· C++ 代码 · 共 49 行

CPP
49
字号
#include<stdio.h>
#include<string.h>
#include<math.h>
int n;
int res[10000];
int used[10000];
int output(int *x)
{
	int i;
	for(i=0;i<n;i++)
	{
		if(i>0)
			printf(" ");
		printf("%d",res[i]);
	}
	printf("\n");
	return 0;
}

int pailie(int npos)
{
	int i;
	if(npos==n)
		output(res);
	else
		for(i=1;i<=n;i++)
			if(!used[i])
			{
				res[npos]=i;
				used[i]=1;
				pailie(npos+1);
				
				used[i]=0;
			}
	return 0;
			
}

int main()
{
	while(scanf("%d",&n)!=EOF)
	{
		memset(used,0,sizeof(used));
		pailie(0);
	}

	return 0;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?