好快啊,都有班级结束培训了,都开始找工作了.好像都好挺不错的样子
不知道自己到时候会是怎么样个情况,抓紧学习,顺便做下项目设计答辩用.
这次主要是弄全排列问题..感觉又回到熟悉的数学课了...
Java代码
public class Permutations {
public void permute(String value, int startIndex, int endIndex) {
if (startIndex == endIndex) {
System.out.printf("%s ", value);
} else {
for (int currIndex = startIndex; currIndex <= endIndex; currIndex++) {
value = swap(value, startIndex, currIndex);
permute(value, startIndex + 1, endIndex);
value = swap(value, startIndex, currIndex);
}
}
}
private String swap(String value, int idxOne, int idxTwo) {
char[] charArray = value.toCharArray();
char temp = value.charAt(idxOne);
charArray[idxOne] = charArray[idxTwo];
charArray[idxTwo] = temp;
return new String(charArray);
}
}
测试程序如下:
Java代码
public class Main {
public static void main(String[] args) {
String value = "ABCD";
new Permutations().permute(value, 0, value.length()-1);
}
}
运行结果:
ABCD
ABDC
ACBD
ACDB
ADCB
ADBC
BACD
BADC
BCAD
BCDA
BDCA
BDAC
CBAD
CBDA
CABD
CADB
CDAB
CDBA
DBCA
DBAC
DCBA
DCAB
DACB
DABC
这就是C43排列了..最近某宝双12送彩票可以去碰碰运气..
不知道自己到时候会是怎么样个情况,抓紧学习,顺便做下项目设计答辩用.
这次主要是弄全排列问题..感觉又回到熟悉的数学课了...
Java代码
public class Permutations {
public void permute(String value, int startIndex, int endIndex) {
if (startIndex == endIndex) {
System.out.printf("%s ", value);
} else {
for (int currIndex = startIndex; currIndex <= endIndex; currIndex++) {
value = swap(value, startIndex, currIndex);
permute(value, startIndex + 1, endIndex);
value = swap(value, startIndex, currIndex);
}
}
}
private String swap(String value, int idxOne, int idxTwo) {
char[] charArray = value.toCharArray();
char temp = value.charAt(idxOne);
charArray[idxOne] = charArray[idxTwo];
charArray[idxTwo] = temp;
return new String(charArray);
}
}
测试程序如下:
Java代码
public class Main {
public static void main(String[] args) {
String value = "ABCD";
new Permutations().permute(value, 0, value.length()-1);
}
}
运行结果:
ABCD
ABDC
ACBD
ACDB
ADCB
ADBC
BACD
BADC
BCAD
BCDA
BDCA
BDAC
CBAD
CBDA
CABD
CADB
CDAB
CDBA
DBCA
DBAC
DCBA
DCAB
DACB
DABC
这就是C43排列了..最近某宝双12送彩票可以去碰碰运气..