首頁 >Java >java教程 >java如何快速排序函數

java如何快速排序函數

小老鼠
小老鼠原創
2024-01-18 17:26:181250瀏覽

快速排序方法:1、建立一個Java範例檔;2、透過quickSort方法實作快速排序演算法;3、選擇陣列中的一個元素為主元(pivot),並將陣列分成兩個子數組,一個包含比主元小的元素,另一個包含比主元大的元素,然後對這兩個子數組遞歸地應用快速排序演算法;4、在main方法中對數組進行了排序並輸出結果即可。

java如何快速排序函數

本教學作業系統:windows10系統、Dell G3電腦。

以下是在Java中實作快速排序演算法的範例程式碼:

public class QuickSort {
    public static void quickSort(int[] arr, int low, int high) {
        if (arr == null || arr.length == 0) {
            return;
        }
        if (low >= high) {
            return;
        }
        int middle = low + (high - low) / 2;
        int pivot = arr[middle];
        int i = low, j = high;
        while (i <= j) {
            while (arr[i] < pivot) {
                i++;
            }
            while (arr[j] > pivot) {
                j--;
            }
            if (i <= j) {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
                i++;
                j--;
            }
        }
        if (low < j) {
            quickSort(arr, low, j);
        }
        if (high > i) {
            quickSort(arr, i, high);
        }
    }
    public static void main(String[] args) {
        int[] arr = {5, 2, 8, 3, 9, 1};
        quickSort(arr, 0, arr.length - 1);
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}

#在上面的在範例中,quickSort方法實作了快速排序演算法。此演算法選擇數組中的一個元素作為主元(pivot),並將數組分為兩個子數組,一個包含比主元小的元素,另一個包含比主元大的元素。然後對這兩個子數組遞歸地應用快速排序演算法。最後在main方法中對數組進行了排序並輸出結果。

以上是java如何快速排序函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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