首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 冒泡排序完整演示:逐步輸出比較與交換過程

     編輯:Java 相關知識

程式說明

本範例展示一個標準的冒泡排序實作,並在每一次比較與交換後即時列印陣列狀態,幫助初學者直觀理解排序流程。

核心程式碼

public class BubbleSortDemo {
    public static void main(String[] args) {
        int[] nums = {12, 24, 34, 14, 45, 17, 65, 51, 25};

        System.out.println("冒泡排序演示");
        System.out.print("初始資料  ");
        for (int n : nums) System.out.print(n + " ");
        System.out.println();

        for (int i = 0; i < nums.length - 1; i++) {
            for (int j = 0; j < nums.length - 1 - i; j++) {
                if (nums[j] < nums[j + 1]) { // 由大到小
                    int tmp = nums[j];
                    nums[j] = nums[j + 1];
                    nums[j + 1] = tmp;
                    System.out.print(nums[j + 1] + "和" + nums[j] + "換位置  ");
                } else {
                    System.out.print("    ");
                }
                for (int n : nums) System.out.print(n + " ");
                System.out.println(" 完成一次比較");
            }
            System.out.println("本輪比較結束");
        }

        System.out.println("結束");
        for (int n : nums) System.out.print(n + " ");
    }
}

執行結果片段

冒泡排序演示
初始資料  12 24 34 14 45 17 65 51 25
24和12換位置  24 12 34 14 45 17 65 51 25 完成一次比較
34和12換位置  24 34 12 14 45 17 65 51 25 完成一次比較
...
本輪比較結束
結束
65 51 45 34 24 25 17 14 12

關鍵點解析

  • 外層迴圈控制輪數(i),內層迴圈控制每輪比較次數(j)。
  • nums.length - 1 - i 避免重複比較已排序的尾部元素。
  • 即時列印交換細節與陣列快照,教學極佳。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved