JAVA基础:汉诺塔递归算法的实现
发布时间:2012/4/25 10:39:45 来源:城市网学院 编辑:ziteng
-
有三根柱子A,B,C,A柱子上有N个盘子,从小到大依次叠放,要求把A上的盘子都移到C上,B可以作为临时存放,移动的时候必须始终遵循小盘子在大盘子上面,且
每次只能移动一个盘子,求其算法。用java实现如下:
public class move{
public static void main(String [] args){
move(4,'a','c','b');
}
//参数n表示移动count个盘子,src表示本来放盘子的,mid是临时存放盘子的,trag是最终目的
public static void move(int count,char src,char trag,char mid){
if(count==1){
System.out.println(src+"--------->"+trag);
}else{
move(count-1,src,mid,trag);
System.out.println(src+"--------->"+trag);
move(count-1,mid,trag,src);
}
}
}