tests.java
来自「java 源代码....是关于全排列的问题解决方案,,很短很精辟」· Java 代码 · 共 60 行
JAVA
60 行
public class tests{
String[] list;
StringBuffer sb = new StringBuffer();
int start;
int m=0;
int number;
tests(String in,int number){
list = in.split(",");
this.number=number;
printList();
System.out.print(sb);
// System.out.println("m="+m);
}
void replaceStr(int c1,int c2){
// System.out.println(" c1="+c1+" c2="+c2);
String temp = list[c1];
list[c1] = list[c2];
list[c2] = temp;
// print();
}
void printList(){
// System.out.println("In printList():");
// System.out.println(" start="+start);
if(start==number)
{
StringBuffer buffstr=new StringBuffer();
for(int i=0;i <number;i++)
{
buffstr.append(list[i]+(i==list.length-1?"\n ":","));
}
System.out.println(" buffstr="+buffstr);
}
else
for(int i=start;i <list.length;i++){
replaceStr(start++,i);
printList();
replaceStr(i,--start);
}
// System.out.println("Out printList()...");
}
void print(){
System.out.print(" list=[");
for(int i=0;i<list.length;i++)
{
System.out.print(list[i]+" ");
}
System.out.print("]\n");
}
public static void main(String args[]){
new tests(args[0],2);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?