冒泡排序--数据结构和算法

冒泡排序:通过对待排序序列(从前到后或从后到前)依次比较相邻元素的值,逆序则进行交换。就像水泡一样逐渐向上冒出。(时间复杂度为 n^2

        // 原数组
        int[] i = new int[] { 1, 2, 3, 5, 4 };
        int temp;// 辅助变量
        boolean boo;// 辅助变量
        for (int j = 0; j < i.length - 1; j++) {
            boo = true;
            // 循环交换
            for (int j2 = 0; j2 < i.length - 1 - j; j2++) {
                // 相邻元素逆序 进行交换
                if (i[j2] > i[j2 + 1]) {
                    boo = false;
                    temp = i[j2];
                    i[j2] = i[j2 + 1];
                    i[j2 + 1] = temp;
                }
            }
            // 没有进入交换语句说明数组已经有序
            if (boo)
                break;
            System.out.println(j);
        }
        // 排序后数组
        for (int j : i) {
            System.out.print(j + "  ");
        }

输出:

 0
1  2  3  4  5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值