java程序的冒泡排序操作

1 篇文章 0 订阅
1 篇文章 0 订阅

今天刚了解了一下java的冒泡排序的原理,刚开始不是很懂,但是自己推导了一下就明白了,现在跟你们说说我的理解吧

public class Test05 {
    public static void main(String[] args) {
    int[] arr = new int[]{23,61,45,12,53,126};	//定义数组

    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;
            }
        }
    }
    for (int i = 0; i < arr.length; i++) {	//输出排序后的数组
        System.out.println(arr[i]);
    }
    }
}

说一下:
1、java的冒泡排序就是对数组遍历的简单操作
2、我的数组有六个元素,所以表示要循环五次选出第一到第五大的数,这样第六个自然就是最小的,所以"arr.length"要减一,也可以不减,不过运行效率会慢一点
3、冒泡排序的实质就是一个数和后一个数的比较,arr[j]和arr[j+1]的比较,所以为了防止数组越界的情况,所以的第二层for循环的"arr.length"就必须要减一,因为一个外层for循环执行一次就可以选出一个当前的最大值,所以每次就可以减一,可以用i来表示,所以会有"arr.length-1-i",当然也可以不减i,理由同上,但是必须减一
4,if判断的条件就是判断两个数的大小,如果满足条件就交换数据,按照我写的第二个数永远比第一个数大,以此类推
5、然后就可以依次输出排序后的数组元素了

本文的转载文章路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值