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;
    }
}
相关推荐
蕨蕨学AI3 分钟前
【Wolfram语言】45.2 真实数据集
java·数据库
予枫的编程笔记17 分钟前
【Java集合】深入浅出 Java HashMap:从链表到红黑树的“进化”之路
java·开发语言·数据结构·人工智能·链表·哈希算法
ohoy23 分钟前
RedisTemplate 使用之Set
java·开发语言·redis
mjhcsp23 分钟前
C++ 后缀数组(SA):原理、实现与应用全解析
java·开发语言·c++·后缀数组sa
8***f39537 分钟前
Spring容器初始化扩展点:ApplicationContextInitializer
java·后端·spring
r_oo_ki_e_43 分钟前
java22--常用类
java·开发语言
linweidong1 小时前
C++ 中避免悬挂引用的企业策略有哪些?
java·jvm·c++
用户93761147581611 小时前
并发编程三大特性
java·后端
阿在在1 小时前
Spring 系列(二):加载 BeanDefinition 的几种方式
java·后端·spring
小当家.1051 小时前
Maven与Gradle完整对比指南:构建工具深度解析
java·gradle·maven