八皇后实验报告
摘要:数据结构实验报告实验名称:实验二——八皇后问题学生姓名:姜山级:2011211106班班内序号:14学号:2011210167日期:2012年11月16日1.实验要求【实验目的】1、进一步掌握指针、模板类、异常处理的使用2、掌握栈的操作的实现方法3、掌握队列的操作的实现方法4、学习使用栈解决实际问题的能力5、学习使用队列解决实际问题的能力【实验内容】利用栈结构实现八皇后问题。在8*8的棋盘上放置8个皇后,要求使其不能互相攻击,即任意的两个皇后都不能处于同一行、同一列或同一斜线上。请设计算法打印所有可能的摆放方法。要使用栈结构。2.程序分析2.1存储结构利用栈存储结构。2.2关键算法分析1、关键算法:判断该位置能否放置:boolSeqStack<T>::Judgement(){for(inti=0;i<top;i++)if(data[top]==data[i]||(abs(data[top]-data[i]))==(top-i))returnfalse;returntrue;}用for循环,data[top]=data[i]判断是否在同一列,abs(data[top]-data[i])=(top-i)判断是否在同一斜线。当既不在同一斜线也不再同一列时即可放置打印棋盘:voidSeqStack<T>::Output(){for(inti=0;i<StackSize;i++){for(intj=0;j<data[i];j++)cout<<"□";cout<<"▓";for(intj=StackSize-1;j>data[i];j--)cout<<"□"
温馨提示:当前文档最多只能预览
5 页,若文档总页数超出了
5 页,请下载原文档以浏览全部内容。
本文档由 匿名用户 于 2022-09-24 23:27:04上传分享