数据结构----递归算法(汉诺塔)
程序员文章站
2024-03-16 16:05:46
...
/*
汉诺塔问题
*/
#include <stdio.h>
void Towers(int n, char A, char B, char C){
if(n==1){ //递归出口
printf("%s%c%s%c\n\n","移动盘 1 从 ",
A," 到盘 ",C);
return;
}
//把n-1个盘从A盘借助B盘移动到C盘
Towers(n-1,A,C,B);
//把圆盘n从A盘直接移动到C盘
printf("%s%d%s%c%s%c\n\n","移动盘 ",n,
" 从盘 ",A," 到盘 ",B);
///把n-1个盘从C盘借助A盘移动到B盘
Towers(n-1,C,B,A);
}
void main(void){
Towers(4,'A','C','B');
getch();
}
上一篇: LeetCode刷题(持续更新)
下一篇: cocos2dx 播放动画