排列

原创 2015年07月10日 22:59:13
//排列
#include<stdio.h>
#include<stdlib.h>

#define MAX_NUM 1024
int an[MAX_NUM+10];
int MyCompare(const void *e1,const void *e2)
{
	return *((int *)e1)-*((int *)e2);
}
int main()
{
	int M;
	int n,k,i,j;
	scanf("%d",&M);
	for(int m=0;m<M;m++)
	{
		scanf("%d%d",&n,&k);
		for(i=1;i<=n;i++)
			scanf("%d",&an[i]);
		an[0]=100000;
		for(i=0;i<k;i++)
		{
			for(j=n;j>=1&&an[j-1]>an[j];j--);
			if(j>=1)
			{
				int nMinLarger=an[j];
				int nMinIdx=j;
				for(int kk=j;kk<=n;kk++)
				{
					if(nMinLarger>an[kk]&&an[kk]>an[j-1])
					{
						nMinLarger=an[kk];
						nMinIdx=kk;
					}	
				}
				an[nMinIdx]=an[j-1];
				an[j-1]=nMinLarger;
				qsort(an+j,n-j+1,sizeof(int),MyCompare);	
			}
			else
			{
				for(j=1;j<=n;j++)
					an[j]=j;				
			}	
		}
		for(j=1;j<=n;j++)
			printf("%d ",an[j]);
		printf("\n");	
	}
	return 0;
}

版权声明:本文为博主原创文章,转载请加转载地址http://blog.csdn.net/williamfan21c|Copyright ©2011-2017,Supernatural, All Rights Reserved.

div 等块级标签横向排列的方法总结

块级标签的默认文档流是上下排列的,再配上横向排列的方法,请过适当的嵌套,可以应对几乎所有常见的布局需求,因此,我决定总结一下 div 横向排列的方法。这也是我初学前端时最困扰的问题~...
  • zmhawk
  • zmhawk
  • 2017年06月15日 17:59
  • 7030

数组的全排列

1.问题背景学过数学的人都知道,全排列的意思是什么。现在如何用计算机的编程语言实现数组的全排列呢?数组的全排列可用于求解八皇后问题,具体参见:全排列解决八皇后问题。与此同时,全排列经常会出现在笔试或者...
  • K346K346
  • K346K346
  • 2016年04月15日 00:46
  • 5814

回溯法之求全排列

题目:求1,2,...,N的全排列。例,N=3时,共有六种: 思路:回溯法就是先确定某一部step的选择,选择之后要置状态为1,以表示某个资源已被使用;然后把“选择”和当前状态传到到step+...
  • u013490101
  • u013490101
  • 2016年01月26日 16:54
  • 1404

全排列的四种生成算法

1.字典序法   字典序法中,对于数字1、2、3......n的排列,不同排列的先后关系是从左到右逐个比较对应的数字的先后来决定的。例如对于5个数字的排列 12354和12345,排列12...
  • gaixm
  • gaixm
  • 2015年10月20日 21:00
  • 1493

蓝桥杯 - 下一个排列 C语言实现

下一个排列 先看看网上是怎么介绍next_permutation函数:    next_permutation函数在 组合数学中经常用到排列,这里介绍一个计算序列全排列的函数:next_perm...
  • qq_34845121
  • qq_34845121
  • 2017年03月31日 16:00
  • 418

一次搞懂全排列——LeetCode四道Permutations问题详解

LeetCode中与Permutations相关的共有四题:   31. Next Permutation   46. Permutations   47. Permutations II  ...
  • Jacky_chenjp
  • Jacky_chenjp
  • 2017年03月26日 17:52
  • 2803

算法总结(9)--全排列问题

leetcode上涉及到的全排列,注意数组的有序,无序,数组元素是否有重复的 主要是递归算法 每个问题记住关键点,注意特殊处理–全排列问题转载 http://blog.csdn.net/more...
  • qq_26437925
  • qq_26437925
  • 2016年10月22日 21:58
  • 783

C++STL中全排列函数next_permutation的使用

next_permutation函数     组合数学中经常用到排列,这里介绍一个计算序列全排列的函数:next_permutation(start,end),和prev_permutation(...
  • AC_Gibson
  • AC_Gibson
  • 2015年04月27日 12:35
  • 7876

li标签的横向排列

li标签的使用很广泛,在各种选项卡的制作,导航栏等都用到,那么li标签的横向排列也是经常用到。标签下的项目默认是纵向排列的,我们需要定义额外的CSS属性让其横向排列,li标签的横向排列有两种实现方法,...
  • u010297791
  • u010297791
  • 2016年10月19日 14:37
  • 8222

C++输出全排列递归算法详细解释

中心思想: 设R={r1,r2,…,rn}是要进行排列的n个元素,Ri=R-{ri}. Perm(X)表示在全排列Perm(X)的每一个排列前加上前缀ri得到的排列。 (1)当n=1...
  • a358463121
  • a358463121
  • 2015年05月06日 23:42
  • 7402
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:排列
举报原因:
原因补充:

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