动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录
首页 > 文章

Java冒泡排序

03-29 21:28 827浏览
举报 T字号
  • 大字
  • 中字
  • 小字

以升序排序为例,从上往下,两两之间进行比较,若上面的数比下面的数大,则交换位置,也就是较大者下沉,这样每一轮比较结束都会产生一个本轮次的最大值,较小的数就会不断向上移动,好像气泡向上漂浮一样。

特点: 升序排序中每一轮比较会把最大的数沉到最底,所以每一轮比较的次数都会比上一轮少一次。
代码示例:

import java.util.Arrays;

public class Demo {

    public static void main(String[] args) {
        //创建一个数组
        int[] nums = {9, 7, 17, 15, 2};
        System.out.println("原始数组:"+ Arrays.toString(nums));
        //创建临时变量
        int temp;
        //外层for循环控制比价的轮数
        for (int i = 0; i <= nums.length - 1; i++) {
            //内层for循环控制比较的次数
            for (int j = 0; j < nums.length - 1 - i; j++) {
                if (nums[j] > nums[j + 1]) {
                    //将较大的数存入temp
                    temp = nums[j];
                    //再将较小的数位置前移
                    nums[j] = nums[j + 1];
                    //较大的数位置后移,完成位置交换
                    nums[j + 1] = temp;
                }
            }
        }

        //打印冒泡排序后的数组
        System.out.println("-----------------------------------");
        System.out.println("冒泡排序完成:"+ Arrays.toString(nums));
    }
}

运行结果:

原始数组:[9, 7, 17, 15, 2]
-----------------------------------
冒泡排序完成:[2, 7, 9, 15, 17]
0人推荐
共同学习,写下你的评论
0条评论
代码小兵375
程序员代码小兵375

5篇文章贡献4670字

相关课程 更多>

作者相关文章更多>

推荐相关文章更多>

Java初学者学习方法

代码小兵64503-29 11:46

两道经典算法问题

代码小兵51603-29 13:18

Java中模拟高并发的方法

代码小兵87208-06 11:36

高并发编程基础知识

代码小兵27908-06 11:30

JsonPath使用方法

代码小兵34507-29 13:19

发评论

举报

0/150

取消