【Java】使用 Java 语言实现一个冒泡排序

慈云数据 2024-04-08 技术支持 46 0

大家好,我是全栈小5,欢迎阅读小5的系列文章。

这是《Java》系列文章,每篇文章将以博主理解的角度展开讲解,

特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。

温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

  • 前言
  • 冒泡排序介绍
  • 通俗理解
  • 代码实现
  • 动图演示
  • 冒泡降序排序
  • 每日小技巧
    • 快速搜索
    • 预览搜索结果
    • 常见排序算法
    • 文章推荐

      前言

      上一篇文章已经学习了,如何使用IDE集成开发工具编写Java代码,并输出了一段Hello World的代码。

      本篇文章将通过IDE使用 Java 语言实现一个冒泡排序。

      冒泡排序介绍

      冒泡排序也是一种简单直观的排序算法。

      冒泡排序的基本思想是多次遍历要排序的数组,每次比较相邻的元素,如果顺序不对就交换它们的位置,一次遍历会将一个最大(或最小)的元素"冒泡"到数组的末尾(或开头)。

      通过多次遍历,直到没有任何元素需要交换,整个数组就排序完成了。

      通俗理解

      当你需要对一组数字进行排序时,冒泡排序就像是在一个装有很多颜色不同的气泡的水槽里,不断地把气泡按照大小顺序排列。

      在这个简单的排序算法中,我们会从数组的开头开始,比较相邻的两个数字,如果前一个数字比后一个数字大,就把它们交换位置。

      这样,每一轮比较,都会让一个最大的数字“冒泡”到当前尚未排序的部分的末尾。

      举个例子,假设我们有一组数字:3, 38, 5, 44, 15, 47, 36, 26, 27, 2, 46, 4, 19, 50, 48。

      下面是冒泡排序的执行过程:

      1.第一轮比较后,最大的数字 50 被冒泡到了数组末尾,数组变为:3, 5, 38, 15, 44, 36, 26, 27, 2, 46, 4, 19, 47, 48, 50

      2.第二轮比较后,第二大的数字 48 被冒泡到了倒数第二的位置,数组变为:3, 5, 15, 38, 36, 26, 27, 2, 44, 4, 19, 46, 47, 48, 50

      3.经过多轮比较和交换后,所有数字按照从小到大的顺序排列完成。

      代码实现

      冒泡排序的 Java 代码

      public class BubbleSortExample {
          public static void main(String[] args) {
              int[] array = {3, 38, 5, 44, 15, 47, 36, 26, 27, 2, 46, 4, 19, 50, 48};
              System.out.println("排序前数组:");
              printArray(array);
              bubbleSort(array);
              System.out.println("\n排序后数组:");
              printArray(array);
          }
          public static void bubbleSort(int[] arr) {
              int n = arr.length;
              for (int i = 0; i  arr[j + 1]) {
                          // 交换 arr[j] 和 arr[j+1]
                          int temp = arr[j];
                          arr[j] = arr[j + 1];
                          arr[j + 1] = temp;
                      }
                  }
              }
          }
          public static void printArray(int[] arr) {
              for (int i = 0; i  
      

      效果

      在这里插入图片描述

      动图演示

      在这里插入图片描述

      冒泡降序排序

      冒泡排序的默认排序方式是升序排序。

      在冒泡排序算法中,数组中相邻的元素会进行比较,如果顺序不对则进行交换,每一轮排序都会将当前最大(或最小)的元素放到正确的位置上,最终实现整个数组的升序排序。

      如果要将冒泡排序改为降序排序,只需在比较大小的地方做相应修改即可,如将大于号(>)改为小于号( public static void main(String[] args) { int[] array = {3, 38, 5, 44, 15, 47, 36, 26, 27, 2, 46, 4, 19, 50, 48}; System.out.println("排序前数组:"); printArray(array); bubbleSort(array); System.out.println("\n排序后数组:"); printArray(array); } public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon