1. Konsep algoritma.
Quicksort merupakan penyempurnaan dari bubble sort. Diusulkan oleh CAR Hoare pada tahun 1962.
2. Pemikiran algoritmik.
Bagilah data yang akan diurutkan menjadi dua bagian independen melalui penyortiran satu arah. Semua data di satu bagian lebih kecil dari semua data di bagian lainnya. Kemudian gunakan metode ini untuk mengurutkan kedua bagian data secara cepat Proses penyortiran dapat berlangsung secara rekursif, sehingga seluruh data menjadi suatu urutan yang terurut.
3. Mengimplementasikan ide.
① Gunakan kata kunci pertama K 1 sebagai kata kontrol, bagilah [K 1 ,K 2 ,…,K n ] menjadi dua subarea, sehingga semua kata kunci di area kiri kurang dari atau sama dengan K 1 dan semua kata kunci di area yang tepat lebih besar atau sama dengan K 1, dan terakhir kata kontrol ditempatkan pada posisi yang sesuai di antara kedua sub-area tersebut. Data pada subarea masih dalam keadaan tidak berurutan.
② Perlakukan area kiri secara keseluruhan dan proses dengan langkah ①, dan lakukan pemrosesan yang sama pada area kanan. (yaitu rekursi)
③ Ulangi langkah ① dan ② hingga area kiri diproses.
public static void quickSortByMid(int[] a, int rendah, int tinggi) { if (rendah >= tinggi) kembali; // Pisahkan int pivot = a[rendah]; sementara (i < j) { sementara (i < j && a[j] >= poros) --j; a[i]=a[j]; sementara (i < j && a[i] <= poros) + +saya; a[j]=a[i]; } a[i]=pivot; quickSortByMid(a, rendah, i-1); quickSortByMid(a, i+1, tinggi }Diagram skema algoritma pengurutan cepat:
Di atas adalah keseluruhan isi artikel ini, semoga bermanfaat bagi semua orang untuk mempelajari algoritma Java quick sort.