首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >冒泡排序

冒泡排序

作者头像
Li_XiaoJin
发布2022-06-12 10:46:23
发布2022-06-12 10:46:23
7230
举报
文章被收录于专栏:Lixj's BlogLixj's Blog

冒泡排序。

冒泡排序的思路:

  1. 比较相邻的元素。如果第一个比第二个大,就交换它们两个;
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素就是最大的数;
  3. 排除最大的数,接着下一轮继续相同的操作,确定第二大的数...
  4. 重复步骤1-3,直到排序完成。

https://lixj.fun/upload/2021/07/v2-33a947c71ad62b254cab62e5364d2813_b-57fb62ea6a854792b28f0ef354af38fb.gif

平均时间复杂度:O(n²)

空间复杂度:O(1)

算法稳定性:稳定

代码语言:javascript
复制

public class BubbleSort {

    public static void bubbleSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - i - 1; j++) {
                if (arr[j + 1] < arr[j]) {
                    swap(arr, j, j + 1);
                }
            }

        }
    }

    private static void swap(int[] arr, int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }

    public static void main(String[] args) {
        int a[] = new int[]{32, 43, 23, 13, 5};
        bubbleSort(a);
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i] + ",");
        }
    }
}

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可 Links: https://lixj.fun/archives/冒泡排序

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档