冒泡排序算法

本文介绍了冒泡排序的基本原理和实现过程,通过一个具体的例子展示了如何使用Java代码进行冒泡排序,并解释了内部循环递减的原因。冒泡排序通过不断比较相邻元素并交换位置,将最大(或最小)的元素逐渐推向数组的一端。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先 为啥学算法, 其实我也没有深入理解 接触到的并不是很多 但是 通过 学习一点 打法无聊的时间
其实 写博客有一点就是可以记录自己走过的路 废话不多说了
进入主题
首先 我聊一下冒泡 就好像是从水底冒泡一样 其实就是相邻的两个数据比较 谁厉害 站前面 但是被比较下去的数据又要跟后面的数据比较 就好比跟第一名比较 输了 跟第二名比较 再输 和第三名比较 一样 。 失败了 就有人顶替你的位置

看代码 。。。。。

int[] arr = new int[]{-12, 3, 2, 34, 5, 8, 1};

 for (int i = 0; i < arr.length - 1; i++) {
            for (int j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    System.out.println(Arrays.toString(arr));
                }
            }
        }


for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

在这里插入图片描述

解析
通俗的讲就是
第一次大的循环 会把最大的数据撒选出来 放到最后
上面个的方法可以看到 内部的循环是递减的 因为 每次大的循环都会把最大的数据放到最后 所以循环次数都减少了

以上都是作者的理解欢迎大家指导

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值