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
相关资源:全排列c语言实现