Day44 Java数组08 冒泡排序

Day44 Java数组08 冒泡排序

1.什么是冒泡排序

  • 冒泡排序是Java八大排序算法之一,是最简单,最常用的排序法

  • 冒泡排序就是将数组中的相邻2个元素依次进行比较,通过把值较大的元素换位到后面(或前面),经过多轮比较,最终会把一个最大值换位到末尾(或开头)。再通过套嵌循环,多次重复(arrays.length-1次)上述比较相邻数字的小循环,从而使得数组内元素按照升序(或降序)排列。

    //注:如何实现元素换位
    int temp; //首先定义一个空水杯
    temp = arrays[i+1]; //把第二个元素倒进空水杯
    arrays[i+1] = arrays[i]; //把第一个元素倒进第二个杯子
    arrays[i] = temp; //再把第二个元素倒进第一个杯子,就实现了两个元素的换位

2.冒泡排序演练

复制代码
package com.kongying.array;

import java.util.Arrays;

public class Demo06 {
    //冒泡排序
    public static void main(String[] args) {
        int[] A = {35,11,72,96,88,25,10,109,6,55};
        System.out.println(Arrays.toString(sort(A)));  //调用sort方法
    }
    public static int[] sort(int[] arrays){  //定义排序方法sort
        for (int j = 0;j< arrays.length-1;j++) {  //外层循环,控制推多少轮
            for (int i = 0; i < arrays.length - 1; i++) {  //内层循环,,经过数组长度-1次比较,把一个最大值推到最后
                if (arrays[i] > arrays[i + 1]) {   //如果前一个数字比后一个数字大,就交换两个数字,经过内层循环,每次会把一个最大值推到最后
                    int temp;
                    temp = arrays[i + 1];
                    arrays[i + 1] = arrays[i];
                    arrays[i] = temp;
                }
            }
        }
        return arrays;
    }
}
相关推荐
飛_1 小时前
解决VSCode无法加载Json架构问题
java·服务器·前端
木棉软糖4 小时前
一个MySQL的数据表最多能够存多少的数据?
java
程序视点4 小时前
Java BigDecimal详解:小数精确计算、使用方法与常见问题解决方案
java·后端
愿你天黑有灯下雨有伞4 小时前
Spring Boot SSE实战:SseEmitter实现多客户端事件广播与心跳保活
java·spring boot·spring
Java初学者小白5 小时前
秋招Day20 - 微服务
java
狐小粟同学5 小时前
JavaEE--3.多线程
java·开发语言·java-ee
KNeeg_6 小时前
Spring循环依赖以及三个级别缓存
java·spring·缓存
AI_Gump7 小时前
【AI阅读】20250717阅读输入
java·spring boot·spring
找不到、了7 小时前
Java排序算法之<插入排序>
java·算法·排序算法
设计师小聂!7 小时前
力扣热题100----------53最大子数组和
java·数据结构·算法·leetcode