美文网首页
【算法】冒泡排序

【算法】冒泡排序

作者: 自学Java闯天下 | 来源:发表于2020-01-22 20:00 被阅读0次

    冒泡排序是一种较为简单的排序算法,其原理是通过不断比较、交换相邻的两个元素,使得最小(大)值不断靠在数组的一端,最终形成有序数组。

    由于最小(大)不断向数组一端聚集,就像汽水中的气泡不断冒出,因此称之为冒泡排序。

    话不多说,马上看个例子来感受一下冒泡排序。
    现有一数组int[] array = {3, 10, 5, 6, 1, 8, 7, 4, 9, 2},以升序排列为例,其排序过程如下:


    排序过程

    代码如下:

    public static void main(String[] args) {
        int[] array = {3, 10, 5, 6, 1, 8, 7, 4, 9, 2};
        for (int i = array.length - 1; i > 0; i--) {
            for (int j = 0; j < i; j++) {
                if (array[j] > array[j + 1]) {
                    int tmp = array[j];
                    array[j] = array[j + 1];
                    array[j + 1] = tmp;
                }
            }
        }
    }
    

    通过以上代码不难发现,冒泡排序的效率算是比较低的,只能用于数据量较小的场景。不过对于刚学习算法的萌新来说,冒泡排序还算是一个比较经典的排序算法。

    学习完冒泡排序,想必大家都能有一种主观感受:双重for循环,比来比去,换来换去,实在是太繁琐了,这样的排序方法效率肯定很低吧!

    在后续的文章中,我会向大家介绍算法分析的一些内容,让大家可以客观分析某种算法的优劣,看看客观分析的结果是否和主观感受一致。

    相关文章

      网友评论

          本文标题:【算法】冒泡排序

          本文链接:https://www.haomeiwen.com/subject/wsrpzctx.html