数据结构学习(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);
            }

        }

    }

}

你可能感兴趣的:(数据结构)