`
yuyeyi
  • 浏览: 36591 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

全排列3

阅读更多
public class FullArray ...{
 public String[] s=...{"a","b","c"};
 public void run()...{  
  int j2;                              //指向要对换的位置
  int sLength=s.length;
  for(int i=0;i<getP(s.length);i++)...{  //外层循环以便获取全部组合
   String[] tempString=s.clone();   //由于对象传的是句柄也就是地址,因此为保证原来数组不变,必须使用对象克隆
   for(int j=0;j<i;j++)...{           //i次的对换
    j2=j%(sLength-1);
    change(j2,tempString);
   }
   for(int l=0;l<sLength;l++)...{     //输出这一次对换后的排列
    System.out.print(tempString[l]);
   }
   System.out.println();
  }
 }
 public int getP(int i)...{                //获得全排列数all
  int all=1;
  for(int j=i;j>0;j--)...{
   all=all*j;
  }
  return all;
 }
 public void change(int i,String[] tempString)...{//
  String t="";
  t=tempString[i];
  tempString[i]=tempString[i+1];
  tempString[i+1]=t;
 }
 public static void main(String[] args)...{
  FullArray fa=new FullArray();
  fa.run();
 }
}

文章出处:http://www.diybl.com/course/3_program/java/javajs/2008315/104683.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics