数据结构学习(2):汉诺塔问题

using System;

namespace Hanoi
{
    
/// <summary>
    
/// Class1 的摘要说明。
    
/// </summary>

    class Class1
    
{
        
/// <summary>
        
/// 应用程序的主入口点。
        
/// </summary>

        [STAThread]
        
static void Main(string[] args)
        
{
            moveTowers(
3/*disks*/,/*from peg*/1,/*to peg*/3,/*using spare peg*/2);
          Console.ReadLine();
        }

        
public static void moveTowers(int n,int start,int finish,int spare)
        
{
            
//利用作为辅助的备用柱子将位于起始
            
//柱子的n个圆盘移到终止柱子上
            if(n==1)
            
{
                Console.WriteLine(
"move a disk from peg"+start+"to peg"+finish);
                }

            
else
            
{
                moveTowers(n
-1,start,spare,finish);
                Console.WriteLine(
"move a disk from peg "+start+"to peg"+finish);
                moveTowers(n
-1,spare,finish,start);
            }

        }

    }

}

posted @ 2006-12-14 19:00  大天使泰瑞尔  阅读(460)  评论(0编辑  收藏  举报