冒泡排序算法

createh52个月前 (04-26)技术教程24

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

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

今天介绍一下冒泡排序法

算法逻辑

时间复杂度

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

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

空间复杂度

由上图逻辑可以得出,冒泡排序每次交换所使用的临时变量为 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 (data[j] > data[j + 1]) {
                int tmp = data[j];
                data[j] = data[j + 1];
                data[j + 1] = tmp;
            }
        }
    }
    return data;
}

小结

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

小伙伴们都了解了吗?


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

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

相关文章

Java程序员必备的算法与数据结构

Java程序员必备的算法与数据结构在编程的世界里,Java程序员就像是一个魔术师,而算法和数据结构就是他们的魔法道具。没有这些工具,我们的代码就会像失去了魔力的咒语一样无力。今天,就让我们一起揭开Ja...

看动画学算法之:排序-冒泡排序

简介排序可能是所有的算法中最最基础和最最常用的了。排序是一个非常经典的问题,它以一定的顺序对一个数组(或一个列表)中的项进行重新排序。排序算法有很多种,每个都有其自身的优点和局限性。今天我们来学习最最...

Java程序员必须掌握的算法与数据结构

Java程序员必须掌握的算法与数据结构在编程的世界里,Java程序员就像一位建筑设计师,而算法与数据结构则是这位设计师手中的画笔和工具。掌握它们,就像掌握了一把打开编程世界大门的钥匙。首先,我们来聊聊...

Java与数据结构算法:程序员的武林秘籍

Java与数据结构算法:程序员的武林秘籍大家好呀!今天咱们要聊聊Java与数据结构算法这对好CP。这就像武侠小说里武功秘籍与内力修为的关系,没有数据结构算法的加持,Java就是一把钝刀;有了它,Jav...

50道Java面试题

1、面向对象的特征有哪些方面?- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。- 继承:继承是从已...