很简单,用三个栈表示,比如分别为A、B、C(刚开始全在A中)
Hanoi(x,y,tmp,n)  //要把n个盘从x移到y,tmp作为buffer
{
   if(n-1>0)Hanoi(x,tmp,y,n-1);  //把上面n-1个先放到tmp里面
   move the last one from x to y
   if(n-1>0)Honoi(tmp,y,x,n-1); //再把那n-1个移过来
}main()
{
  Hanoi(A,C,B,9); //以9为例