递归算法–汉诺塔

  有三根柱子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);

  }

  }

  }

我不敢说我可以忘却,或者勇敢,坚强,等等等等一切堂皇而陈旧的字眼。

递归算法–汉诺塔

相关文章:

你感兴趣的文章:

标签云: