java全排序

 Problem  
  将一个字符组全排序    
   
  Input  
  一个长度小于10的字符串,该字符串由数字1~9组成。字符不会重复出现。    
   
  Output  
  按数字在输入串中出现的次序从小到大的顺序输出该字符组的全排序    
   
  Sample   Input  
  132  
   
  Sample   Output  
  1   3   2  
  1   2   3  
  3   1   2  
  3   2   1  
  2   1   3  
  2   3   1  
  1. import java.util.ArrayList; 
  2. import java.util.List; 
  3. public class pailie { 
  4.     public static void main(String[] args) { 
  5.         pailie t = new pailie(); 
  6.         t.contList(); 
  7.         t.getAllArray(list, 0); 
  8.     } 
  9.     private static List<String> list = new ArrayList<String>(); 
  10.     private void contList(){ 
  11.         list.add("1"); 
  12.         list.add("2"); 
  13.         list.add("3"); 
  14.         list.add("4"); 
  15.         list.add("5"); 
  16.         list.add("6"); 
  17.         list.add("7"); 
  18.         list.add("8"); 
  19.         list.add("9"); 
  20.         list.add("10");
  21.     } 
  22.     public void getAllArray(List<String> inlist,int site){ 
  23.         int tempsite = site; 
  24.         if (site >= inlist.size()) { 
  25.             return
  26.         } 
  27.         String firstNode = (String)inlist.get(site++); 
  28.         List<String> tempList = new ArrayList<String>(inlist); 
  29.         tempList.remove(tempsite); 
  30.         for (int i = 0; i < tempList.size(); i++ ) { 
  31.             System.out.print(firstNode); 
  32.             for (int j = i; j < tempList.size()+i; j++) { 
  33.                 if (j < tempList.size()) { 
  34.                     System.out.print(","+tempList.get(j)); 
  35.                 }else
  36.                     System.out.print(","+tempList.get(j-tempList.size())); 
  37.                 } 
  38.             } 
  39.             System.out.println(""); 
  40.         } 
  41.         getAllArray(inlist,site); 
  42.     } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值