云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构课程设计报告

数据结构课程设计报告

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 5:51:20

数据结构课程设计

开始开始 数据初始化 从第列开始摆放第nn个皇后 从nn列开始摆放第个皇后2 1

当前位置(n,m,) ) N 当前位置(nn,m) Y 当前位置(m 是否被占领 是否被占领是否被占领

n=n+1 n=n+1 摆放皇后,并 摆放皇后,并摆放皇后,并宣布占领宣布占领 宣布占领测试下个位置 m=m+1 0n<=8&m=8 Y N 打印

进行回溯 结果 5

数据结构课程设计

三、 详细设计

//定义数组

int a[8] //表示第i个皇后放置的列,范围为1~8。

int b[8] //表示第j行空闲,b[j]=1 表示第j行被占领,范围为1~8 int c[30] //表示第(i-j)条对角线空闲,c[i-j]=1 表示第(i-j)条对角线被占领,范围-7~7

int d[30] //表示第(i+j)条对角线空闲,d[i+j]=1 表示第(i+j)条对角线被占领,范围2~16。

//位置标明法打印 void print1() { }

//矩阵表示法打印

6

X++;

cout<<\ //每一行皇后放置的列数的第X种情况 for (k=1;k<9;k++)

cout<<\

cout<<\

数据结构课程设计

void print2() { int t,n; Y++;

cout<<\矩阵形式的第Y种情况 for (k=1;k<9;k++)

{

n=a[k]; for(t=1;t

cout<<\

cout<<\ t++; for(t;t<9;t++)

cout<<\

cout<<\ }

cout<<\

}

//回溯递归法摆放皇后

7

数据结构课程设计

void PlaceQueen1(int i) { 突

皇后

int j;

for (j=1;j<9;j++) //每个皇后都有8种可能位置 {

if ((b[j]==0) &&(c[i+j]==0)&& (d[i-j]==0))

//判断位置是否冲

{

a[i]=j; b[j]=1; c[i+j]=1; d[i-j]=1; if (i<8)

PlaceQueen1(i+1); //8个皇后没有摆完,递归摆放下一

//摆放皇后 //宣布占领第J行 //占领两个对角线

else

print1(); //完成任务,打印结果

//回溯

b[j]=0; c[i+j]=0; d[i-j]=0;

8

搜索更多关于: 数据结构课程设计报告 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

数据结构课程设计 开始开始 数据初始化 从第列开始摆放第nn个皇后 从nn列开始摆放第个皇后2 1 当前位置(n,m,) ) N 当前位置(nn,m) Y 当前位置(m 是否被占领 是否被占领是否被占领 n=n+1 n=n+1 摆放皇后,并 摆放皇后,并摆放皇后,并宣布占领宣布占领 宣

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com