您的位置:首页 > 编程语言 > Java开发

八皇后问题的java 实现

2008-01-02 12:48 246 查看
上次在csdn上看了八皇后问题的视频

http://live.csdn.net/Issue291/LivePlay.aspx#

,  代码是c写的,  我把代码翻译成了java 次和大家分享一下

package test;

public class EightQuee {
 
 
 
    final int  Normalize = 9 ;
    int Num = 0;
    int[] q = new int[9];
   
 private boolean[] C = new boolean[9];
 private boolean[] L = new boolean[17];
 private boolean[] R = new boolean[17];
 
 
 public static void main(String [] args)
 {
  int i;
  EightQuee tt = new EightQuee();
  tt.Num = 0;
  for(i = 0; i < 9; i++)
  {
   tt.C[i]= true;
  }
  for(i = 0 ; i<17 ; i++)
  {
   tt.L[i] =true;
         tt.R[i] = true;
  }
  
  tt.test(1);
 }
 
 private void test(int i)
 {
   
    
  
  
  int j;
  int k;
  for(j = 1 ;j<=8 ; j++)
  {
   if(C[j]== true &&L[i+j]== true&&R[i-j+Normalize]== true)
   {
    q[i]=j;
    C[j]=false;
    L[i+j] = false;
    R[i-j+Normalize ] = false;
    if( i < 8)
    {
     test(i+1);
     
    }
    else
    {
     Num++;
     for(k=1 ;k<=8;k++)
     {
      System.out.print(q[k]+"  " );
     }
     System.out.println("");
    }
    C[j]=true;
    L[i+j] = true;
    R[i-j+Normalize ] = true;
     
   }
  }
 }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java string class c