首頁 >Java >java教程 >Java編寫插入排序演算法並輸出結果

Java編寫插入排序演算法並輸出結果

PHPz
PHPz原創
2024-02-19 16:27:21933瀏覽

Java編寫插入排序演算法並輸出結果

Java實作插入排序的範例程式碼和執行結果

插入排序是一種簡單且常用的排序演算法,在實際應用中有著廣泛的應用。本文將介紹如何使用Java語言實作插入排序,並給出對應的程式碼範例和執行結果。

插入排序的基本思想是將待排序的陣列分成已排序和未排序兩部分,初始時已排序部分只有一個元素,然後依次將未排序部分的元素插入到已排序部分的合適位置,直到全部元素插入完成。

下面是Java實作插入排序的範例程式碼:

public class InsertionSort {
    public static void insertionSort(int[] arr) {
        int n = arr.length;
        for (int i = 1; i < n; i++) {
            int key = arr[i];
            int j = i - 1;
            while (j >= 0 && arr[j] > key) {
                arr[j + 1] = arr[j];
                j -= 1;
            }
            arr[j + 1] = key;
        }
    }

    public static void main(String[] args) {
        int[] arr = {5, 2, 10, 8, 3};
        System.out.println("排序前:");
        printArray(arr);
        insertionSort(arr);
        System.out.println("排序后:");
        printArray(arr);
    }

    public static void printArray(int[] arr) {
        int n = arr.length;
        for (int i = 0; i < n; i++) {
            System.out.print(arr[i] + " ");
        }
        System.out.println();
    }
}

程式碼中的insertionSort方法實作了插入排序演算法。它使用一個外層循環遍歷未排序部分的每個元素,將元素插入到已排序部分的合適位置。內層循環則是在已排序部分中尋找合適的插入位置,將比目前元素大的元素往後移動。

main方法中,我們定義了一個整數陣列arr#,初始化了一組無序的元素。首先輸出了排序前的數組,然後呼叫insertionSort方法進行排序,最後輸出排序後的陣列。

運行結果如下所示:

排序前:
5 2 10 8 3 
排序后:
2 3 5 8 10 

可以看到,經過插入排序演算法處理後,原先無序的陣列已經成功地按照從小到大的順序進行了排序。

插入排序的時間複雜度為O(n^2),處理小規模的資料集時表現較好。然而,對於大規模資料集,插入排序的效能會顯著下降,不如其他高效的排序演算法。因此,在實際開發中,需要根據具體情況選擇適合的排序演算法。

以上是Java編寫插入排序演算法並輸出結果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn