Java 复习笔记_第3天

数据结构和算法

冒泡:每次比较都可找出最大或最小的,有序的在最右边
选择排序:有序的在最左边

插入排序:速度比冒泡快一倍,比选择也快。     

递归

       调用自身

       汉诺塔问题:

/** * @汉诺塔的问题 */ public class HanoiTowers { static int count = 0; // 总共要移多少次 public void moveTowers(int n, String start, String inter, String to) { // 柱子的n个圆盘移动到目标柱子上 count++; if (n == 1) { System.out.println("从" + start + "到" + to); } else { // 首先将n-1个盘子移到备用柱,这里用到递归(方法调用方法本身),以便得到最底下最大的盘子 moveTowers(n - 1, start, to, inter); System.out.println("从" + start + "到" + to); // 然后把n-1个备用柱上的盘子移到目标柱子上 moveTowers(n - 1, inter, start, to); } } public static void main(String[] args) { new HanoiTowers().moveTowers(3, "A", "B", "C"); System.out.println("总共要移动" + count+"次"); } }

 

你可能感兴趣的:(Java,复习笔记)