`
dengminghua1016
  • 浏览: 129177 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数组全排列的一个实现算法

阅读更多
import java.util.Arrays;   
 
/**  
* 获得数组全排列的一个实现算法  
*  
* @author 老紫竹的家(laozizhu.com)  
*  
*/   
public class Test {   
static String[] array = { "x", "y", "z" };   
 
public static void main(String[] args) {   
getAllOrder(0, array.length - 1);   
}   
 
public static void getAllOrder(int begin, int end) {   
if (begin == end) {   
check();   
} else {   
for (int i = begin; i <= end; i++) {   
// 交换数据   
swap(begin, i);   
getAllOrder(begin + 1, end);   
swap(i, begin);   
}   
}   
}   
 
public static void swap(int from, int to) {   
// 这里应该加上各种防止无效交换的情况   
// 比如位置相同,或者2个位置的数据相同   
if (from == to) {   
return;   
}   
String tmp = array[from];   
array[from] = array[to];   
array[to] = tmp;   
}   
 
public static void check() {   
// 排列拿到了,可以进行你的判断了。   
System.out.println(Arrays.toString(array));   
}   
分享到:
评论

相关推荐

    Java实现字符数组全排列的方法

    在Java编程中,全排列是一个常见的问题,它涉及到算法和数据结构的知识。全排列是指从给定的字符数组中,按照一定的顺序生成所有可能的排列组合。这个问题通常使用回溯法来解决,因为它能够有效地避免重复的排列。...

    objective-c数组全排列算法

    以下是一个简单的Objective-C代码示例,实现了全排列算法: ```objc #import @interface ArrayPermutation : NSObject // 主函数,接收原始数组,返回全排列结果 + (NSArray *)fullPermutations:(NSArray *)...

    php求数组全排列,元素所有组合的方法

    总结来说,上述PHP代码通过迭代的方式,结合希尔排序的思想,实现了数组全排列的功能。这种方法不仅可以应用于数组元素的全排列,还可以拓展到其他需要生成所有可能组合的场景,例如密码生成、数据筛选等。理解这种...

    JS实现的数组全排列输出算法

    通过文件信息的描述和内容分析,我们可以了解到JavaScript中实现数组全排列输出算法的方法,理解了全排列问题的递归解法原理,以及在实际编程中的技巧和注意事项。这对于提升JavaScript编程能力和解决相关算法问题是...

    C#求数组中元素全排列的方法

    在这个问题中,我们讨论的是如何在C#中实现数组元素的全排列算法。 首先,我们要理解全排列的基本思想。一种常见的方法是使用回溯法,即深度优先搜索(DFS),从数组的第一个元素开始,逐个尝试将其与后面的元素...

    Golang排列组合算法问题之全排列实现方法

    本文实例讲述了Golang排列组合算法问题之全排列实现方法。分享给大家供大家参考,具体如下: 【排列组合问题】 一共N辆火车(0&lt;N&lt;10),每辆火车以数字1-9编号,要求以字典序排序输出火车出站的序列号。 输入:...

    python标准算法实现数组全排列的方法

    在本篇文章中,将介绍一种利用递归实现数组全排列的方法,以及其原理和技巧。 首先,来看一下排列问题的定义:从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个...

    php求数组全排列,元素所有组合的方法总结

    在PHP编程语言中,处理数组的排列组合是一个常见的任务,特别是在进行算法分析、数据操作或者逻辑处理时。本文将深入探讨如何使用PHP实现数组的全排列,即获取数组中所有可能的元素组合。 首先,全排列是指从n个...

    python回溯法实现数组全排列输出实例分析

    在介绍的Python回溯法实现数组全排列输出实例中,首先定义了全排列的概念。全排列是指从n个不同元素中取出m个元素的所有可能的排列组合,其中m可以等于或小于n。当m等于n时,我们称之为“全排列”。换言之,全排列是...

    JavaScript实现数组全排列、去重及求最大值算法示例

    本文实例讲述了JavaScript实现数组全排列、去重及求最大值算法。分享给大家供大家参考,具体如下: 1、全排列(递归) function permutation(arr){ if (arr.length == 1) return arr; else if (arr.length == 2)...

    python通过yield实现数组全排列的方法

    在本例中,我们将探讨如何利用`yield`关键字来高效地生成一个数组的全排列。 `yield`是Python中的一个特殊关键字,它允许函数作为生成器来逐步生成结果,而不是一次性返回所有结果。这种延迟计算的能力使得生成器在...

    Kotlin实现的八大排序算法[已封装]

    Kotlin实现的八大排序算法,已封装好。

    全排列算法部分算法需要自己优化修改

    全排列算法是计算机科学中一个基础且重要的问题,它涉及到数组或序列的所有可能的线性排列方式。在处理这个问题时,我们通常会采用递归或迭代的方式来实现。下面将详细介绍全排列算法及其优化方法。 全排列算法的...

    全排列-非递归算法

    全排列是一种经典的算法问题,它涉及在给定的有限序列中找出所有可能的元素排列方式。...代码可能涉及到循环、条件判断、数组操作等基本编程概念,通过学习和实践,可以提升对全排列算法的理解和应用能力。

Global site tag (gtag.js) - Google Analytics