排列问题
n个元素进行全排列
public class AllPerm {
public static void main(String []args) {
String lists[] = {"a","b","c","d"};
Perm(lists, 0, lists.length-1);
}
void Perm(Object []list, int k , int m) {
if(k == m) {
for(int i = 0; i <= m; i++) {
System.out.print(list[i]);
}
System.out.println();
} else {
//逐一将k - m中的每个元素置于k处,全排列k+1 - m 的元素
for(int i = k; i <= m; i++) {
Swap(list, k, i);
Perm(list,k+1, m);
Swap(list, k, i);
}
}
}
void Swap(Object[] list, int a, int b) {
Object tem = list[a];
list[a] = list[b];
list[b] = tem;
}
}