A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© xinchi 中级黑马   /  2015-10-1 10:21  /  260 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

递归的思想是什么?谁能用代码来说明?

1 个回复

倒序浏览
就是函数自己调用自己(有直接递归和间接递归之分),同时函数要有出口。汉诺塔Hanoi问题:




  1.         /**
  2.         * 从p1 移动n个盘子到p3,借助p2(大盘不能在小盘的上面)
  3.         * @param n 盘子个数
  4.         * @param p1 第一根棍子
  5.         * @param p2
  6.         * @param p3
  7.         */
  8.         public void hanoi(int n, int p1, int p2, int p3) {
  9.                 if (n == 1) {
  10.                         System.out.println("步骤:" + p1 + "-->" + p3);
  11.                         return;
  12.                 } else {
  13.                         // p1-->p2
  14.                         hanoi(n - 1, p1, p3, p2);
  15.                         System.out.println("步骤:" + p1 + "-->" + p3);
  16.                         hanoi(n - 1, p2, p1, p3);
  17.                 }
  18.         }
复制代码




回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马