汉诺塔

/推荐看小甲鱼的数据结构与算法视频/

void move(int n, char a, char b, char c)

{

   if(n==1)

   {

        printf("%c-->%c ", a,c);

   }

   else

   {

        move(n-1, a, c, b);//

        printf("%c-->%c ", a, c);

        move(n-1, b, a, c);//两次参数传递的变换,表示中介发生变化

   }

}

int main(void)

{

    move(3, 'a', 'b', 'c');

}

//思路 A,B,C

第一步,把A->C 把A上面n-1个盘子通过B为中介移到C上面

第二步,把A上第N个盘子,放到B上面,

第三步,把C上面的N-1的盘子通过A移到B上面

原文地址:https://www.cnblogs.com/love-life-insist/p/9063140.html