package Training;
/**
* Content:打印n个字符的所有组合
* @author tangzhenyu
*
*/
public class Combination_Clear {
static char[] arr;
static int mask = 1;
static <E> void combination(E[] a){
int l = a.length;
int n = (int) (Math.pow(2, l) - 1);
for(int i = 1 ; i <= n ; ++i){
int tmp = l;
int num = i;
do{
if((i & mask) == 1){
System.out.print(a[--tmp]);
i >>>= 1;
}
else{
--tmp;
i >>>= 1;
}
}while(i != 0);
i=num;
System.out.println();
}
}
public static void main(String[] args) {
String[] a = {"a1","a2","a3","a4","a5","a6"};
combination(a);
}
}
打印n个字符的所有组合
最新推荐文章于 2021-05-18 21:36:59 发布