首页 > 其他 > 详细

排序--冒泡排序

时间:2014-03-20 12:42:25      阅读:468      评论:0      收藏:0      [点我收藏+]

算法思路

1,比较相邻的元素,如果第一个元素大于第二个元素,则交换他们。

2,遍历一遍,进行比较,一轮下来后,最大的元素应该在列表末端。

3,持续对未排序的子列表进行遍历和比较,知道左右元素归位。

 Java 代码

bubuko.com,布布扣
 1 public class Bubble
 2 {
 3 
 4     public static void main(String[] args)
 5     {
 6         Integer[] arr = {112, 33, 5, 3, 22, 33, 44, 33, 56, 3, 1, 34, 7, 5, 5, 78, 7, 533,};
 7         bubble(arr);
 8         for(Integer i: arr)
 9         {
10             System.out.print(i + " ");
11         }
12     }
13 
14     public static <T extends Comparable<? super T>> void bubble(T[] arr)
15     {
16         for(int i = arr.length - 1; i > 0; --i)
17         {
18             T tem;
19             for(int j = 0; j < i; ++j)
20             {
21                 //比较次数:n(n-1)/2
22                 if(arr[j].compareTo(arr[j+1]) > 0)
23                 {
24                     //交换相邻的2个元素
25                     //交换次数:0~n(n-1)/2之间
26                     tem = arr[j];
27                     arr[j] = arr[j+1];
28                     arr[j+1] = tem;
29                 }
30             }
31         }
32     }
33 }
bubuko.com,布布扣

 复杂度

bubuko.com,布布扣

排序--冒泡排序,布布扣,bubuko.com

排序--冒泡排序

原文:http://www.cnblogs.com/wangziqiang/p/3612056.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!