Java 复习笔记_第3天

来源:互联网 发布:foxy最新软件下载 编辑:程序博客网 时间:2024/05/11 05:37

数据结构和算法

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

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

递归

       调用自身

       汉诺塔问题:

 

view plaincopy to clipboardprint?
  1. /** 
  2.  * @汉诺塔的问题 
  3.  */  
  4. public class HanoiTowers {  
  5.     static int count = 0// 总共要移多少次  
  6.     public void moveTowers(int n, String start, String inter, String to) {  
  7.         // 柱子的n个圆盘移动到目标柱子上  
  8.         count++;  
  9.         if (n == 1) {  
  10.             System.out.println("从" + start + "到" + to);  
  11.         } else {  
  12.             // 首先将n-1个盘子移到备用柱,这里用到递归(方法调用方法本身),以便得到最底下最大的盘子  
  13.             moveTowers(n - 1, start, to, inter);  
  14.             System.out.println("从" + start + "到" + to);  
  15.             // 然后把n-1个备用柱上的盘子移到目标柱子上  
  16.             moveTowers(n - 1, inter, start, to);  
  17.         }  
  18.     }  
  19.     public static void main(String[] args) {  
  20.         new HanoiTowers().moveTowers(3"A""B""C");  
  21.         System.out.println("总共要移动" + count+"次");  
  22.     }  
  23. }  

 

原创粉丝点击