文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发数据结构八皇后问题的java实现
精品推荐
特别推荐
·网游外挂编写完全攻略
·开发WDM型的USB设备驱动程序
·数据库设计范式深入浅出
·理解软件保护技术之序列号方式
·大型网站必鉴:分销渠道的结构
·你的代码真的很健壮吗
·利用HOOK拦截封包原理
·四种网络游戏外挂的设计方法
·程序语言效率比较
·五子棋算法
·正则表达式从入门到精通
·SQL Server不能启动的常见故障
·Windows应用程序设计的基本术语
·软件本地化与汉化
·Windows中断编程
·windows nt 4.0中文版的开机过程
热点TOP10
·网游外挂编写完全攻略
·兵之利器 软件开发辅助工具纵览
·开发WDM型的USB设备驱动程序
·DCOM揭秘之六
·VS2008 第一次安装心得及使用
·游戏外挂设计技术探讨
·《数据结构》试题下载2004
·饺子馆的物流故事之二——供应链视角下的缺货及品类管理
·代码静态分析工具PC-LINT安装配置
·使用BHO定制你的IE浏览器
·原始套接字透析之Raw Socket基础
·基于CS模式的Winsock网络通讯程序
·程序语言效率比较
·《Windows程序设计》读书笔记之六
·四种网络游戏外挂的设计方法
·用CVSNT与WINCVS实现CVS的架设
·利用HOOK拦截封包原理
·简单对象访问协议(SOAP)初级指南
·带你全面了解数据库应用系统的开发步骤
·UML业务建模实例分析

八皇后问题的java实现

日期:2007年5月3日 作者: 查看:[大字体 中字体 小字体]


/*
* Created on 2003-3-28
* n皇后问题算法。
* 把棋盘看成一个坐标系,以左下角为原点(0,0)。坐标系的每个点为一个Point类。
* 每个皇后为一个皇后对象Queen。
* 判断一个点的坐标是否在,一个皇后控制的范围的函数为Queen.isUnderControl(point)。
*
*/
package bia.arithmetic;

import java.util.Date;

/**
* @author Administrator
*
* To change this generated comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class EightQueen {

Queen[] stack = new Queen[8];
int sp = 0;
int num = 0;

public EightQueen() {
  num = 8;
  stack = new Queen[num];
  sp = 0;
}

public EightQueen(int num) {
  this.num = num;
  stack = new Queen[num];
  sp = 0;
}

/**
  * 打印皇后的坐标列表。
  * @renzc
  *
  */
public void list() {
  System.out.println("Begin list the stack Point:");
  for (int i = 0; i < sp; i++) {
   stack[i].pos.println();
  }
  System.out.println("End list the stack Point:");
}

/**
  * 主算法流程。
  * @Administrator
  *
  */
public void calc() {
  sp = 0;
  stack[sp++] = new Queen();
  while (sp >= 0 && sp <= num - 1) {
   Queen queen = getQueen(sp);
   if (null == queen) {
    boolean flag = true;
    while (flag) {
     --sp;
     if (sp < 0)
      break;
     if (stack[sp].pos.y == num - 1) {

     }
     else {
      stack[sp++].pos.y++;
      flag = false;
      for (int k = 0; k < sp - 1; k++) {
       if (stack[k].isUnderControl(stack[sp - 1].pos)) {
        flag = true;
        break;
       }
      }
     }
    }

   }
   else {
    stack[sp++] = queen;

[1] [2] [3] 下一页 




上一篇:Windows中断编程

下一篇:八皇后问题的高效解法-递归版

八皇后问题的java实现 相关文章:
·如何实现局域网打印机共享
·Java图形用户界面设计
·TCP/IP编程实现远程文件传输
·Visual C++ 实现数字化图像的分割
·ASP.NET购物车的实现及结算处理
·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
·javascript+xml实现二级下拉菜单,不会被任何标签或元素遮住
·用C语言实现Ping程序功能
·javascript 常用代码大全
·JavaScript经典效果集锦
八皇后问题的java实现 相关软件:
·中东问题的历史根源
·Thinking In Java 英文版
·TCP-IP详解卷2:实现
· JavaScript 语言参考 中文版(CHM)
·Javascript高级教程
·张效祥javascript视频教程 lesson67附教程
·Java 2 入门与实例教程(PDG)
·Java 教程及实例
·JavaScript 使用详解
·Effective Java 中文版

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot