1 / 7
文档名称:

【精选】栈结构实现汉诺塔实验报告.doc

格式:doc   大小:29KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

【精选】栈结构实现汉诺塔实验报告.doc

上传人:sunny 2022/3/18 文件大小:29 KB

下载得到文件列表

【精选】栈结构实现汉诺塔实验报告.doc

相关文档

文档介绍

文档介绍:【精选】栈结构实现汉诺塔实验报告
数 据 结 构




学 院 软件学院
年 级 2022级
【精选】栈结构实现汉诺塔实验报告
数 据 结 构




学 院 软件学院
年 级 2022级
班 级 班
学 号
姓 名
2022 年 3 月 24 日
目录
一、实验内容……………………………………….1
二、实验过程……………………………………….X
三、实验结果……………………………………….X

软件学院2022级数据结构试验报告
一、实验内容:
1、实验题目:栈结构实现汉诺塔
2、实验要求:有三个柱子A、B、C,A柱子上叠放有n个盘子,每个盘子都比它下面的盘自己小一点,要求借助柱子B,将柱子A上的所有盘子移动到柱子C上。要求一次只能移动一个盘子,且移动过程中大盘子不能放在小盘子的上面,只能小盘子放在大盘子的上面。
3、实验目标:了解并掌握栈的结构原理和根本操作,并用利用栈结构实现汉诺塔。了解递归的工作过程。
软件学院2022级数据结构试验报告
二、实验过程:
1、任务分配
2、设计思想
〔1〕将A柱子上n-1个盘子借助C柱子移到B柱子上,把A上剩下的一个盘子移到C上,将B上的n-1个盘子借助A移到C上
〔2〕建立三个栈作为汉诺塔,利用栈结构“先进后出〞的特点,先进栈的盘子要后出来
3、需求分析
  (1) 输入的形式和输入值的范围:输入盘子的个数n
  (2) 输出的形式:盘子的移动过程及最终的移动总次数
  (3) 程序所能到达的功能:将A上的n个盘子借助B移到C上
  (4) 测试数据:
4、概要设计
1).抽象数据类型
2).算法
:用来作为汉诺塔存入和去除圆盘,先进栈的圆盘后出来
:建立汉诺塔模型〔将A上的n个盘子借助B移到C上〕
其中move函数用于实现圆盘的移动
:接收处理命令〔初始化数据〕
软件学院2022级数据结构试验报告
5、详细设计
程序代码〔含注释〕
6、调试分析
〔1〕调试中的问题分析:
,开始使用的是void,但是与后面main函数中定义的i类型不相符,且void函数无法返值,最后改为int型
算法的时空分析:
:程序所花的时间正比于所输出的