八皇后问题的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;
}
}
}
}
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实现>
- 八皇后问题 java实现,算法两则
- 八皇后问题的java实现
- java实现八皇后问题示例分享
- 八皇后问题,Java实现,可推广解决N皇后问题
- 八皇后问题java实现
- Java基于循环递归回溯实现八皇后问题算法示例
- Java实现经典八皇后的问题
- 汉诺塔问题的java递归实现
- 海康SDK-javademo实现报错问题解决
- Java学习总结15——实现SingleThreadModel,容器不为servlet创建新的实例的问题
- 最小重量机器设计问题 java实现
- Java 多线程实现生产者消费者问题(wait/notify)
- 初级java编程实现数学问题鸡和兔子共35个脑袋94个足
- java 关于项目导出功能实现过程中遇到的问题及思路历程
- 算法java实现--分支限界法--旅行售货员问题
- 线程的相关知识、JAVA实现死锁、生产者消费者问题
- JAVA...窗口的实现,有点问题帮忙指出谢谢!!
- 背包九讲之完全背包问题 Java实现 滑动数组
- Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS