⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testzh1.java

📁 一些Java的小的应用程序
💻 JAVA
字号:
/**这个是组合,排列可以在选取出来后再计算一次这个数列中的所有可能*/
public class TestZH1 {
	private   void   mn(int   m,   int   n)   {   
		  if(m   <   n)   
		  throw   new   IllegalArgumentException("Error   m   <   n");   
		  int[]   array   =   new   int[m];   
		  for(int   i   =   0;   i   <   m;   i   ++)   
		  array[i]   =   i   +   1;   
		  BitSet   bs   =   new   BitSet(m);   
		  for(int   i   =   0;   i   <   n;   i++)   
		  bs.set(i,   true);   
		  do   {   
		  printAll(array,   bs);   
		  }while(moveNext(bs,   m));   
		    
		  }   
		  private   boolean   moveNext(BitSet   bs,   int   m)   {   
		  int   start   =   -1;   
		  while(start   <   m)   
		  if(bs.get(++start))   
		  break;   
		  if(start   >=   m)   
		  return   false;   
		    
		  int   end   =   start;   
		  while(end   <   m)   
		  if(!bs.get(++end))   
		  break;   
		  if(end   >=   m)   
		  return   false;   
		  for(int   i   =   start;   i   <   end;   i++)   
		  bs.set(i,   false);   
		  for(int   i   =   0;   i   <   end   -   start   -   1;   i++)   
		  bs.set(i);   
		  bs.set(end);   
		  return   true;   
		  }   
		  private   void   printAll(int[]   array,   BitSet   bs)   {   
		  StringBuffer   sb   =   new   StringBuffer();   
		  for(int   i   =   0;   i   <   array.length;   i++)   
		  if(bs.get(i))   
		  sb.append(array[i]).append(',');   
		  sb.setLength(sb.length()   -   1);   
		  System.out.println(sb);   
		  }   
		  public   static   void   main(String[]   args)   throws   Exception   {   
		  new   TestA().mn(8,   3);   
		  }   
		    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -