全排列

原创 2012年03月28日 19:18:14

任意输入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;
}


Openjudge 2.2 1750:全排列

.
  • C20192419MYS
  • C20192419MYS
  • 2017年04月19日 13:22
  • 542

输出全排列(递归&非递归)

递归算法: 假设总共有n个元素,其核心是:将每个元素放到余下n-1个元素组成的队列最前方,然后对剩余元素进行全排列,依次递归下去。 比如:1 2 3 首先将1放到最前方(跟第1个元素交换),然后...
  • prstaxy
  • prstaxy
  • 2012年11月04日 22:59
  • 7677

c++ STL中的全排列函数

头文件: #include 函数原型: bool next_permutation(iterator start, iterator end); next_permutation函数的返回值是布尔...
  • xiaoquantouer
  • xiaoquantouer
  • 2016年12月05日 23:11
  • 1084

全排列的一些总结

今天做了一道网易的笔试题——数列还原。里面用到了全排列的想法,因此学习并总结了一下全排列算法。 1、全排列问题描述        输入一个字符串或者序列,打印出该字符串或序列中字符或元素的所有排列。例...
  • JIEJINQUANIL
  • JIEJINQUANIL
  • 2016年08月09日 17:32
  • 3418

全排列计算(康托展开)

题目描述 给出一个1~n的全排列中的某一个,求它是按字典序排列的第几个。 输入输出格式 输入格式: 第一行,一个n; 第二行,依次是n个数。 输出格式: ...
  • update7
  • update7
  • 2017年02月23日 21:38
  • 15733

全排列和去重全排列---递归实现

一、全排列的概念: 根据360百科,我们知道从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。二、全排列的...
  • fern_girl
  • fern_girl
  • 2017年04月21日 22:13
  • 725

全排列 DFS实现

/* DFS实现全排列 递归是我的弱项 分析递归过程分析的头都大了。。。 做一下注释 免得日后想不起来 运行时注意: 输入数字最好不要超过两位数 输入10时运行时间近1min 产生的output.t...
  • Jack_Wong2010
  • Jack_Wong2010
  • 2011年08月22日 13:17
  • 3871

深度优先搜索与全排列

做题过程中我们经常会遇到这样的问题: 输入一个数n,输出1-n的全排列。可能很多人会想到枚举暴力,这里给大家介绍一种算法:深度优先搜索 在这里举个简单的例子         假如有编号为1 、2...
  • u013238646
  • u013238646
  • 2015年05月01日 10:19
  • 2783

包含重复元素的全排列

#include #include #include using namespace std; int n = 0;//统计全排列个数 ofstream out("output.txt"); //...
  • cq340321
  • cq340321
  • 2016年11月21日 21:15
  • 324

全排列(递归和字典序)

递归法: #include #define maxn 100 int d[maxn]; void swap(int *a, int *b) //交换 { int t; t = *a; *a...
  • simatongming
  • simatongming
  • 2015年12月16日 04:03
  • 1702
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:全排列
举报原因:
原因补充:

(最多只允许输入30个字)