分享

列出数组中取出的数的全部组合(用递归实现)

 橙zc 2014-08-12

把一个数组里的数组合全部列出,比如1和2列出来为1,2,12,21


  1. import java.util.Arrays;  
  2. import java.util.LinkedList;  
  3. import java.util.List;  
  4.   
  5. public class Test {  
  6.     public static void main(String[] args)  {  
  7.         String[] array = new String[]{"1","2","3","4"};  
  8.         listAll(Arrays.asList(array), "");  
  9.     }  
  10.     public static void listAll(List candidate, String prefix) {  
  11.         //if(candidate.isEmpty()){  
  12.         System.out.println(prefix);  
  13.         //}  
  14.         for(int i=0;i<candidate.size();i++) {  
  15.             List tmp = new LinkedList(candidate);  
  16.             listAll(tmp, prefix + tmp.remove(i));//函数中的参数从右边开始解析  
  17.         }  
  18.     }  
  19. }  


去掉注释后只显示取出所有数的组合



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多