若笑丶红尘 2017-03-20 09:02 采纳率: 0%
浏览 1159

关于数据结构的hanoi塔问题

void hanoi (int n, char x,char y, char z)
//将塔座x上按直径由小到大且自上而下编号为1至n个圆盘按规则搬到塔座z上,y可用作辅助塔座。
//搬动操作move(x,n,z)可定义为(c是初值为0的全局变量,对搬动计数);
//printf("%i.Move disk %i from %c to %c\n", ++c,n, x, z);
{
if(n==1)
move(x,1,z);
else{
hanoi(n-1, x, z, y);//第五步
move(x, n. z);//第六步
hanoi(n-1, y, x, z);//第七步
}
}

这里的5、6、7都不怎么能理解。
当n=3的时候,到5的时候怎么到move去啊,还有n=1的时候是不是只有x柱子上只有1个的时候到z柱么!

  • 写回答

2条回答 默认 最新

  • shen_wei 2017-03-20 09:26
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?
  • ¥40 串口调试助手打开串口后,keil5的代码就停止了
  • ¥15 电脑最近经常蓝屏,求大家看看哪的问题
  • ¥60 高价有偿求java辅导。工程量较大,价格你定,联系确定辅导后将采纳你的答案。希望能给出完整详细代码,并能解释回答我关于代码的疑问疑问,代码要求如下,联系我会发文档