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

冒泡排序

时间:2014-11-20 00:00:01      阅读:563      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   color   os   sp   java   for   

作者:禅楼望月(http://www.cnblogs.com/yaoyinglong/

     冒泡排序是非常著名的排序算法,记得大学VB可学完之后,就只记得冒泡排序了。bubuko.com,布布扣

冒泡排序基本思想

     依次比较相邻两个元素(第0和第1,第1和第2,……),如果发现前一个数据大于后一个数据,则交换它们。经过第一趟排序,最大的元素“冒”到了最后。

     由此可见,每趟交换结束,不仅能将当前最大值“冒”到最后,还能部分理顺前面其他元素;这样一旦某趟排序没有发生交换,则即可提前结束排序。当然最坏的情况下,也需要n-1趟排序。

图解冒泡排序

bubuko.com,布布扣

Java代码解析:

public static <T extends Comparable<T>>  void BubbleSort(T[] datas){
    int swapNum=0;
    T tmp=null;
    for(int i=0; i<datas.length; i++){
        swapNum=0;
        for(int j=0; j<datas.length-i-1; j++){            
            if(datas[j].compareTo(datas[j+1])>0){
                tmp=datas[j];
                datas[j]=datas[j+1];
                datas[j+1]=tmp;
                swapNum++;
            }
        }
        if(swapNum==0){
            System.out.println("第"+(i+1)+"躺排序,该趟排序交换位置的次数为0,循环跳出");
            System.out.println(Arrays.toString(datas));
            break;
        }else {
            System.out.println("第"+(i+1)+"躺排序");
            System.out.println(Arrays.toString(datas));
        }
    }
}
欢迎大家批评指点。

冒泡排序

标签:style   blog   http   ar   color   os   sp   java   for   

原文地址:http://www.cnblogs.com/yaoyinglong/p/dataStruct-冒泡排序.html

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