Java教程

Java 冒泡排序

本文主要是介绍Java 冒泡排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

初步认识排序

排序是将多个数据依次按指定顺序进行排列的过程。

排序有两种大类:内部排序外部排序

  • 内部排序:指将需要处理的所有数据都加载到内存中进行排序操作,如
    • 交换排序
    • 选择排序
    • 插入排序
  • 外部排序:当数据量过大,无法完全加载到内存中,需要借助外部储存进行排序,如:
    • 合并排序
    • 直接合并排序

冒泡排序

冒泡排序: 冒泡排序也是交换排序的一种,简而言之就是从头开始,每次找出 最大值/最小值 然后互换到 后面/前面, 用图形表示就是:

image-20220423222330059

了解了冒泡排序的概念,接下来就是代码的实现

// 要排序的数组
int bubbleSort[] = {99, 69, 80, 57, 13};
// 定义交换空间,替换值时使用的
int swap;
// 开始循环,外层循环的作用是指定最小值, 和一个比对多少轮
for (int minIndex = 0; minIndex < bubbleSort.length - 1; minIndex++) {  // 五个元素的数组 只需要循环 4 次就能完成排序
    // 指定每次比对 从那里开始,如:
    // 第一轮比对从索引 0 开始
    // 第二轮比对从索引 1 开始 ... 以此类推
    // 因为前面的值已经是比对过的都比后面的值小,所以无需重复比对,浪费资源
    for (int compareIndex = minIndex; compareIndex < bubbleSort.length; compareIndex++) {
        // 判断 最小值 是否比 比对值大
        if (bubbleSort[minIndex] > bubbleSort[compareIndex]) {
            // 如果比比对值大『执行以下代码』,将比对值 和 当前记录的最小值互相替换
            // 如果小,不做任何操作
            // 开始替换,先记录当前记录的最小值到交换空间
            swap = bubbleSort[minIndex];
            // 将当前记录的最小值替换成比对值
            bubbleSort[minIndex] = bubbleSort[compareIndex];
            // 将比对值替换成 之前记录的最小值
            bubbleSort[compareIndex] = swap;
        }
    }
}
这篇关于Java 冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!