八皇后

自己突然想写个回溯法,自己写的东西感觉比较符合思维逻辑,分享出来,可能与网上的有差距

public static void show(int d)
 {
  int i=0;
  m[i]=0;\\从0,0开始
  i++;\\测试下一位,此处是为了便于后面的逻辑规律
  while(i>=0)
  {
   
   while(test(i,m[i])==false && m[i]<d)\\下一位进行测试
    m[i]++;
   
   if(m[i]<d && i<d)
   {
    
    if(i==d-1)
    {
     print(d); //输出答案
     
     m[i]++;//找到一个答案后继续寻找
     
    }
    else
    {
     
     i++;\\再找下一位
     m[i]=0;\\下一位从0开始测试
     
     
    }
    
    
   }
   else
   {
    if(i>0)//以防数组越界
    {
    i--;//开始回溯
    m[i]++;
    }
   }
   
   
  }
 }

这是具体代码

https://github.com/xpbob/queen.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值