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

获得数组全部排列组合

 
阅读更多

 

出处:http://blog.csdn.net/justinavril/article/details/4181354

 

 

public class AllSort{    
    public static void main(String[] args) {    
        char buf[]={'a','b','c'};    
  
        perm(buf,0,buf.length-1);    
    }    
    public static void perm(char[] buf,int start,int end){    
        if(start==end){//当只要求对数组中一个字母进行全排列时,只要就按该数组输出即可    
            for(int i=0;i<=end;i++){    
                System.out.print(buf[i]);    
            }    
            System.out.println();       
        }    
        else{//多个字母全排列    
            for(int i=start;i<=end;i++){    
                char temp=buf[start];//交换数组第一个元素与后续的元素    
                buf[start]=buf[i];    
                buf[i]=temp;    
                    
                perm(buf,start+1,end);//后续元素递归全排列    
                    
                temp=buf[start];//将交换后的数组还原    
                buf[start]=buf[i];    
                buf[i]=temp;    
            }    
        }    
    }    
}  

 

 

分享到:
评论

相关推荐

    从n个数组中取出所有排列组合(Java实现)

    在编程领域,数组排列组合问题是一个经典的问题,它涉及到算法设计和数据结构的理解。这个问题的主要目标是从给定的n个数组中找出所有的可能排列组合。Java作为一种强大的编程语言,提供了丰富的工具和方法来解决...

    JS实现二维数组元素的排列组合运算简单示例

    JS实现二维数组元素的排列组合运算是一个涉及JavaScript编程基础与算法技巧的主题。在编程中,二维数组是一种数据结构,可以理解为数组的数组,其中每个数组元素又是一个数组。排列组合运算是算法领域的一个重要概念...

    quanpailie.rar_数组排列组合

    数组排列组合是算法设计中的一个重要主题,尤其在解决复杂问题时,如搜索、优化和数学问题。本程序"quanpailie.rar_数组排列组合"的目标是实现一个全排列算法,它能生成给定数字串的所有可能排列。 全排列是指从n个...

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

    全排列是指从给定的字符数组中,按照一定的顺序生成所有可能的排列组合。这个问题通常使用回溯法来解决,因为它能够有效地避免重复的排列。下面我们将深入探讨如何使用Java实现字符数组的全排列。 首先,我们需要...

    matlab_排列组合

    ### MATLAB中的排列组合知识点 #### 一、MATLAB排列组合函数概述 在MATLAB中,排列组合相关的函数被广泛应用于统计学、概率论以及各种工程计算领域。这些函数可以帮助我们解决许多数学问题,如组合数量的计算、...

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

    在PHP中,数组全排列是指将数组中的所有元素进行所有可能的排列组合。这通常涉及到回溯算法或者基于比较的排序技巧。以下是对标题和描述中提到的PHP数组全排列方法的详细解释: 首先,我们需要一个包含多个元素的...

    Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例

    本示例讲解了如何在Python 2.7中利用笛卡尔积算法实现N个数组的排列组合运算。 首先,我们创建了一个名为`Cartesian`的类,它包含两个重要的变量: 1. `datagroup`: 这是一个二维数组,存储了我们需要进行组合的N...

    Java获得一个数组的指定长度排列组合算法示例

    Java获得一个数组的指定长度排列组合算法示例 Java获得一个数组的指定长度排列组合算法示例是 Java 编程中一个常见的算法问题,旨在解决获得一个数组的指定长度排列组合问题。本文将通过实例形式分析了 Java 排列...

    Go语言实现的排列组合问题实例(n个数中取m个)

    ### Go语言实现的排列组合问题详解 #### 一、引言 在计算机科学与数学领域,排列组合问题是非常基础且重要的一个概念。特别是在算法设计、数据处理等方面有着广泛的应用。本文将详细介绍如何使用Go语言来解决一个...

    排列组合

    在IT行业中,排列组合是算法和数据结构领域中的一个重要概念,尤其在计算机科学的很多应用场景中,如搜索、优化和统计分析等。Objective-C是一种强大的编程语言,常用于开发iOS和Mac OS X平台的应用程序。本节将深入...

    C经典算法之排列组合

    ### C经典算法之排列组合 #### 知识点解析 **排列组合**是计算机科学与数学中的一个重要概念,广泛应用于密码学、数据处理、优化问题等领域。本篇内容主要介绍了如何利用C语言实现一个基本的排列算法。 #### 排列...

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

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

    排列组合算法排列组合算法.doc

    排列组合是组合数学中的基本概念,它在计算机科学和算法设计中有着广泛的应用,尤其是在解决优化问题、数据处理和概率计算等领域。排列是指从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,而组合则是...

    vc排列组合

    这个例子展示了如何使用C++和递归来解决排列组合问题,尤其是针对数字相加得到指定和的情况。在实际编程中,可能需要对代码进行优化,例如使用更高效的数据结构或算法,以处理更大的数据集。同时,对于大型数据集,...

    使用Excel两个一维数组构造二维数组.rar

    本案例"使用Excel两个一维数组构造二维数组.rar"重点讲解如何通过Excel的数组公式,将两个一维数组合并成一个二维数组,并进行加法运算。 首先,我们有两个一维数组,它们可能代表不同的数据系列或者是在不同维度上...

    排列组合java方法(支持字符串、字符串数组,可直接执行)

    最近在做项目的时候,要用到排列组合的方法。于是用java实现后,将其进行了总结。附件java类可以直接执行。 输入可以支持字符串、或者字符串数组(ArrayList)类型,同时可以自己修改分隔符。 输出,可以得到所有是...

    求排列组合集源码

    ### C++程序实现数字序列的排列组合子集 #### 程序背景与目标 根据提供的文件信息,该C++程序旨在实现一个简单的数字序列的排列组合子集生成器。程序的目标是接受用户输入的一组数字,并输出所有可能的子集(包括...

    输出排列组合源代码.zip

    在编程领域,排列组合是算法设计中的一个重要概念,特别是在数据结构和算法分析中。VB6.0(Visual Basic 6.0)是微软推出的一种面向对象的编程环境,尤其适合初学者入门。在这个"输出排列组合源代码.zip"压缩包中,...

    iOS中排列组合算法的使用小结

    在iOS开发中,排列组合算法是一种常见的数据处理技术,尤其在进行数据分析、游戏逻辑或算法设计时经常需要用到。本文将围绕排列组合算法在iOS中的应用进行深入探讨。 首先,排列和组合是组合数学中的基本概念。排列...

Global site tag (gtag.js) - Google Analytics