没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
实验报告内容
1. #include "stdafx.h"
2. #include<stdio.h>
3.
4. // 定义 2 个变量
5. int m_numOfStack = 0; // 当前栈的数量
6. int m_current = 0; // 当前计算次数
7.
8. // 编号为 n 的圆盘(直径从小到大),从 A 搬运到 C,B 作为辅助塔
9. // 只显示移动步骤
10. void hanoi(int n,char A,char B,char C)
11. {
12.
13. if(n==1) //最后一次移动
14. {
15. m_current= m_current +1; // 当前移动次数加 1
16. printf("第%d 步:移动圆盘 %d 从柱子 %c 到柱子
%c",m_current,n,A,C); // 将编号是 1 的圆盘从 A 移到 C
17.
18. }
19. else // 其他的移动
20. {
21. hanoi(n-1,A,C,B); // 将编号从 1 到 n-1 的圆盘从 A 移到 B,C 作为辅助塔
22. m_current= m_current +1; // 当前移动次数加 1
23. printf("第%d 步:移动圆盘 %d 从柱子 %c 到柱子
%c",m_current,n,A,C); // 将编号是 n 的圆盘从 A 移到 C
24. hanoi(n-1,B,A,C); // 将编号从 1 到 n-1 的圆盘从 B 移到 C,A 作为辅助塔
25. }
26. }
27.
28. // 编号为 n 的圆盘(直径从小到大),从 A 搬运到 C,B 作为辅助塔
29. // 显示步骤和栈中元素数量变化
30. void hanoiOfStack(int n,char A,char B,char C)
31. {
32. m_numOfStack = m_numOfStack + 1;
33. printf("栈的状态:入栈,当前栈中元素的数量%d",m_numOfStack); // 当前栈的情
况
34.
35. if(n==1) //最后一次移动
36. {
37.
38. m_current= m_current +1; // 当前移动次数加 1
资源评论
心之旅人
- 粉丝: 4
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功