数组组合

时间:2014-10-06 17:10:11   收藏:0   阅读:114

理论:

將一組數字、字母或符號進行排列,以得到不同的組合順序,例如1 2 3這三個數的排列組合有:1 2 3、1 3 2、2 1 3、2 3 1、3 1 2、3 2 1。

 

java实现:

package 经典;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;


public class 数组组合1 {

    public 数组组合1() {
        // TODO 自动生成的构造函数存根
    }
    
    public static void listAll(List candidate,String prefix){
        if(candidate.isEmpty())
            System.out.println(prefix);
        
        for(int i=0 ;i<candidate.size(); i++)
        { 
            List temp=new LinkedList(candidate);
            listAll(temp,prefix+temp.remove(i));
        }
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        
        String[] array=new String[]{
                "1","2","3","4","5"
        };
        listAll(Arrays.asList(array),"");
        
    }

}

 

原文:http://www.cnblogs.com/huangcongcong/p/4008383.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!