Java算法----冒泡排序法

在开发中,对一组数据进行有序地排列是经常需要做的事情,所以掌握几种甚至更多的排序算法是绝对有必要的
本文章介绍的是排序算法中较简单的一种算法:冒泡排序

什么是冒泡排序呢?

你可以这样理解:(从小到大排序)存在10个不同大小的气泡,由底至上地把较少的气泡逐步地向上升,这样经过遍历一次后,最小的气泡就会被上升到顶(下标为0),然后再从底至上地这样升,循环直至十个气泡大小有序。
在冒泡排序中,最重要的思想是两两比较,将两者较少的升上去
冒泡排序最坏情况的时间复杂度是O(n²)
排序代码如下:

public class BubbleSort{
    public void sort(int[] a){
        int temp = 0;
        //循环数组长度-1次
        for (int i = a.length - 1; i > 0; --i){
            //每次循环执行比较数组长度-1-循环次数
            for (int j = 0; j < i; ++j){
                //如果后面的小于前面的,则交换位置
                if (a[j + 1] < a[j]){
                    temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_26555463/article/details/77448347