Rumah  >  Artikel  >  Java  >  Bagaimana untuk mengisih fungsi dengan cepat dalam java

Bagaimana untuk mengisih fungsi dengan cepat dalam java

小老鼠
小老鼠asal
2024-01-18 17:26:181137semak imbas

Kaedah isihan pantas: 1. Cipta fail sampel Java 2. Laksanakan algoritma isihan pantas melalui kaedah quickSort 3. Pilih elemen dalam tatasusunan sebagai pangsi (pivot), dan bahagikan tatasusunan kepada dua sub-tatasusunan; , satu mengandungi Elemen yang lebih kecil daripada elemen pangsi, satu lagi mengandungi elemen yang lebih besar daripada elemen pangsi, dan kemudian secara rekursif menggunakan algoritma isihan pantas kepada dua sub-tatasusunan ini 4. Isih tatasusunan dalam kaedah utama dan keluarkan hasilnya.

Bagaimana untuk mengisih fungsi dengan cepat dalam java

Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.

Berikut ialah kod sampel untuk melaksanakan algoritma isihan pantas dalam 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 + " ");
        }
    }
}

Dalam contoh di atas, kaedah quicksort melaksanakan algoritma isihan pantas. Algoritma ini memilih elemen dalam tatasusunan sebagai pangsi dan membahagikan tatasusunan kepada dua subarray, satu mengandungi elemen yang lebih kecil daripada pangsi dan satu lagi mengandungi elemen yang lebih besar daripada pangsi. Algoritma quicksort kemudiannya digunakan secara rekursif pada dua subarray. Akhirnya, tatasusunan diisih dan hasilnya dikeluarkan dalam kaedah utama.

Atas ialah kandungan terperinci Bagaimana untuk mengisih fungsi dengan cepat dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn