`
ideage
  • 浏览: 319089 次
社区版块
存档分类
最新评论

递归解决Hanoi汉诺塔

阅读更多
汉诺塔,一个古老的问题,递归算法,在讲栈数据结构加深理解的例子.今天重新回顾了一下.


import std.stdio;

int mc=0;

void move(char x,int n,char z)
{
  printf("%i Move disk %i from %c to %c \n",++mc,n,x,z);
}

void hanoi(int n,char x,char y,char 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);    
  }
}

void main()
{
  hanoi(10,'a','b','c');
  //writefln("OK");
  return;
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics