- 1
- 0
- 约2.4千字
- 约 5页
- 2016-11-09 发布于贵州
- 举报
11班28号王咪-第二次数据结构实验报告
数据结构实验报告
实验名称: 实验二——题目二(八皇后)
学生姓名:
班 级:
班内序号:
学 号:
日 期: 2012年11月21日
实验要求
实验内容:设计八皇后问题:在8*8的棋盘上放置8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列、同一斜线上。设计一个算法打印所有可能的摆放方法。
程序分析
2.1 存储结构
存储结构:动态数组空间(顺序表)
2.2 关键算法分析
关键算法
通过void FindSolution()的递归,从而找出皇后的位置。有三个判断作用的数组Upward[i],Downward[i],p[i]来记录斜向上的对角线,斜向上的对角线,行是否已经放置了皇后。若无,则记为0,若有则记为1。先通过数组记录的值来判断该位置能否放置皇后,再在新皇后所在的两条对角线和行的位置处修改三个数组的值。此函数每次找的是一行中的每个位置,递归,则进入下一行的位置中判断。若下一行无法放置皇后,再回溯到上一行原先的皇后处,删掉该处的皇后,再在此行的下一个位置寻找。
2.代码详细分析
为了避免参数传输的麻烦,将解八皇后的算法设置成一个类(EightQueen)。这样成员和对象之间的数据传输较为方便。
类中的私有成员的作用叙述如下:
int nn; //要放置的皇后的数量(如八皇后,则nn=8)
int
您可能关注的文档
最近下载
- 2024年四川省雅安市中考语文真题.docx VIP
- 防错装置点检表.xlsx VIP
- 小学二年级乘除法口算题每页80道.doc VIP
- 蓝城颐养(康养)小镇的实践与探索.pptx VIP
- 审计学(西南财经大学)中国大学MOOC 慕课 期末考试答案.pdf VIP
- 重庆市第一中学校2024-2025学年高二下学期期中考试数学(原卷版).docx VIP
- 基于PLC的步进电机精确定位控制系统设计与实现.docx VIP
- TCHAA-医疗机构特殊医学用途配方食品运营管理规范.pdf VIP
- 企业所得税年度汇缴申报鉴证业务审计工作底稿模板.xlsx VIP
- 2024年湖南省长沙市长郡教育集团联考中考二模物理试题(含答案).pdf VIP
原创力文档

文档评论(0)