package chapter4;
/**
* @功能说明 :
* 输出一个数组中num个数的组合
* 与排列问题不同的是,组合模式不记元素顺序,选取的模式不能重复
• 可以考虑每个元素的“选”与“不选”样式
* @author shaochong
* @Date 2014年12月4日 下午3:49:28
*/
public class Zuhe
{
static char[] a = {'A','B','C','D'};
static void f(boolean[] x, int start, int num)
{
if(num==0){
for(int i=0; i<start; i++) if(x[i]) System.out.print(a[i] + " ");
System.out.println();
return;
}
if(start >= x.length) return;
x[start] = true;
f(x, start+1, num-1);
x[start] = false;
f(x, start+1, num);
}
public static void main(String[] args)
{
boolean[] x = new boolean[a.length];
f(x,0,2);
}
}