全排列

任意输入n个不重复的整数序列,输出序列的全排列

next_permutation(a,a+n),如果有下个排列,就返回1,否则返回0;


#include<stdio.h>
#include<algorithm>
using namespace std;
int a[1200];
int main()
{
	int t,n,k;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d",&n);
		for(int i=0; i<n; i++)
     		scanf("%d",&a[i]);
		sort(a,a+n);
		for(int i=0; i<n-1; i++)
                printf("%d ",a[i]);
	    	printf("%d\n",a[n-1]);
 	        while(next_permutation(a,a+n))
		{for(int i=0; i<n-1; i++)
	     	printf("%d ",a[i]);
		printf("%d\n",a[n-1]);}
		printf("\n");
	}
		return 0;
}


阅读更多
文章标签: permutation
个人分类: 排列
上一篇Leftmost Digit
下一篇Points Within
想对作者说点什么? 我来说一句

组合数学全排列字典序法

2010年04月22日 2KB 下载

组合数学全排列换位算法

2010年04月22日 1KB 下载

排列组合测试

2011年10月29日 8KB 下载

全排列VC源代码,仅供参考

2010年11月26日 176KB 下载

没有更多推荐了,返回首页

关闭
关闭