码迷,mamicode.com
首页 > 编程语言 > 详细

java基础学习总结五(递归算法、冒泡排序)

时间:2016-05-10 23:37:03      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:

一:递归算法

概念:自己调用自己的方法

技术分享

示例代码如下:

 1 @Test
 2     /**
 3      * 递归求和
 4      * 5+4+3+2+1=15
 5      */
 6     public void getSum() {
 7         long sum = sum(5);
 8         System.out.println("sum=" + sum);
 9     }
10 
11     public static long sum(int i) {
12         if (1 == i) {
13             return 1;
14         } else {
15             return i + sum(i - 1);
16         }
17     }

解释:

当i=5时,返回5+sum(4),

当i=4时,返回4+sum(3),

当i=3时,返回3+sum(2),

当i=2时,返回2+sum(1),

当i=1时,返回1

最后求得5+4+3+2+1=15;

 

二:冒泡排序

概念:如果有以下几个数,12, 23, 4, 3, 14

第一次:拿12与其他的数依次比较,如果12小于其他数,则交换位置,这是降序排列。

原来顺序:12, 23, 4, 3, 14

第一次比较后:23,12,4,3,14  

得到一个最大值,在最左边,在拿第二个数和后面的数进行比较,方式和之前的相同

23,14,4,3,12

23,14,12,3,4

23,14,12,4,3

示例代码如下:

 1 @Test
 2     /**
 3      * 冒泡排序
 4      */
 5     public void puppleSort() {
 6         int[] arr = { 12, 23, 4, 3, 14 };
 7         for (int i = 0; i < arr.length; i++) {
 8             for (int j = i + 1; j < arr.length; j++) {
 9                 if (arr[i] < arr[j]) {
10                     int tmp = arr[i];
11                     arr[i] = arr[j];
12                     arr[j] = tmp;
13                 }
14             }
15         }
16         System.out.println(Arrays.toString(arr));
17     }

 

java基础学习总结五(递归算法、冒泡排序)

标签:

原文地址:http://www.cnblogs.com/warrior4236/p/5479757.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!