public class AllSort {
public static void main(String[] args)
{
int a[] = {1,2,3};
sort(a,0);
}
public static void swap(int i,int j,int a[])
{
//if(i==j) return ;可以提高效率
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
public static void sort(int a[],int index)
{
if(index ==a.length)
{
printArr(a);
}
else
{
for(int i = index;i<a.length;i++)
{
swap(i, index, a);
//if(index==0&&a[index]==3)continue;第一位不能为3
//或者加入其它的条件
sort(a, index+1);
swap(i, index, a);
}
}
}
public static void printArr(int a[])
{
int i ;
for(i=0;i<a.length-1;i++)
{
System.out.print(a[i]+" ");
}
System.out.println(a[i]);
}
}
分享到:
相关推荐
全排列是指从给定的字符数组中,按照一定的顺序生成所有可能的排列组合。这个问题通常使用回溯法来解决,因为它能够有效地避免重复的排列。下面我们将深入探讨如何使用Java实现字符数组的全排列。 首先,我们需要...
二维数组全排列生成方法,采用递归方法实现,10*24大概用时30min,有待进一步改进
在PHP中,数组全排列是指将数组中的所有元素进行所有可能的排列组合。这通常涉及到回溯算法或者基于比较的排序技巧。以下是对标题和描述中提到的PHP数组全排列方法的详细解释: 首先,我们需要一个包含多个元素的...
本文实例讲述了php求数组全排列,元素所有组合的方法总结。 分享给大家供大家参考,具体如下: <?php $source = array('pll','我','爱','你','嘿'); sort($source); //保证初始数组是有序的 $last = count($...
下面,我们将详细探讨如何使用Objective-C实现全排列算法,并通过数组保存结果。 首先,我们需要定义一个数组来存储原始数据,然后创建一个方法来处理全排列。这个方法将接收两个参数:一是原始数组,二是用于保存...
通过文件信息的描述和内容分析,我们可以了解到JavaScript中实现数组全排列输出算法的方法,理解了全排列问题的递归解法原理,以及在实际编程中的技巧和注意事项。这对于提升JavaScript编程能力和解决相关算法问题是...
本文实例讲述了python回溯法实现数组全排列输出的方法。分享给大家供大家参考。具体分析如下: 全排列解释:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个...
本文实例讲述了C#通过yield实现数组全排列的方法。分享给大家供大家参考。具体分析如下: 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的...
本文实例讲述了python标准算法实现数组全排列的方法,代码来自国外网站。分享给大家供大家参考。具体分析如下: 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一...
本文实例讲述了JavaScript实现数组全排列、去重及求最大值算法。分享给大家供大家参考,具体如下: 1、全排列(递归) function permutation(arr){ if (arr.length == 1) return arr; else if (arr.length == 2)...
在Python编程中,数组全排列是一项常见的算法问题,特别是在数据处理和组合优化中。全排列是指从给定的n个不同元素中取出n个元素的所有可能的排列方式。本篇文章将详细讲解如何利用Python的`yield`关键字来高效地...
用c语言实现对一个动态数组的全排列,其中保存生成的全排列用了一个二维指针,求全排列用的递归的方法,代码在vc++6.0下调试通过,并附有详细注释。
在C#编程中,求解数组元素全排列是一项常见的任务,尤其在算法设计和数据处理领域。全排列是指从n个不同元素中取出m个元素,按照一定的顺序排成一列的所有可能组合,其中m≤n。在这个问题中,我们讨论的是如何在C#中...