冒泡排序算法(冒泡排序算法原理)

在日常开发中经常会遇到一类问题,就是对一个集合的数据进行排序

掌握一些排序算法,对于日常开发是非常有帮助的

今天介绍一下冒泡排序法

算法逻辑

时间复杂度

由上图逻辑可以得出,冒泡排序的循环次数为

由循环次数可以得出,冒泡排序的时间复杂度为

空间复杂度

由上图逻辑可以得出,冒泡排序每次交换所使用的临时变量为 i,j,tmp

由临时变量数可以得出,冒泡排序的空间复杂度为

java代码实现

public int[] sortByBubble(int[] data) {
    //获取数组总长度
    int size = data.length;
    
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < size - i - 1 j todo: if>” 代表从小到大排序
            //if判断里使用 “<” if dataj> data[j + 1]) {
                int tmp = data[j];
                data[j] = data[j + 1];
                data[j + 1] = tmp;
            }
        }
    }
    return data;
}

小结

今天主要介绍了单集合排序的一种排序算法——冒泡排序

小伙伴们都了解了吗?


下次小Top将继续介绍单集合排序算法

对于今天的内容有任何疑问或问题,欢迎留言或讨论 ^-^

原文链接:,转发请注明来源!