java实现生成子集



public class ShengChengZiJi {
 
 
 //根据每个子集的编码对应在集合中的位置,输出该编码所对应的子集
 public static void print(int [] s,int i){
  int n=s.length;
  for(int j=0;j<n;j++){
   if((i&(1<<j))!=0){    //i为编码,1--》10--》100--》1000;分别与i与,若不为1则代表那一位为1,则输出s集合对应的字符
    System.out.print(s[j]+" ");
    
   }
  }
  
  System.out.println();
  
 }
 
 
   public static void main(String[] args) {
  int s[]={1,2,3,4,5};
  //i为编码;每次让编码加1,但是要小于11111(s.length位)
  for (int i = 0; i < (1<<s.length); i++) {
   print(s, i);
  }
 }

猜你喜欢

转载自blog.csdn.net/sinat_41627479/article/details/82497453
今日推荐