Program Java untuk Menerapkan Algoritma Quick Sort

Dalam contoh ini, kita akan belajar mengimplementasikan algoritma pengurutan cepat di Java.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:

  • Metode Java
  • Java untuk Loop
  • Array Jawa

Contoh: Program Java untuk Menerapkan Algoritma Pengurutan Cepat

 // Quick sort in Java import java.util.Arrays; class Main ( // divide the array on the basis of pivot int partition(int array(), int low, int high) ( // select last element as pivot int pivot = array(high); // initialize the second pointer int i = (low - 1); // Put the elements smaller than pivot on the left and // greater than pivot on the right of pivot for (int j = low; j = pivot) if (array(j) <= pivot) ( // increase the second pointer if // smaller element is swapped with greater i++; int temp = array(i); array(i) = array(j); array(j) = temp; ) ) // put pivot in position // so that element on left are smaller // element on right are greater than pivot int temp = array(i + 1); array(i + 1) = array(high); array(high) = temp; return (i + 1); ) void quickSort(int array(), int low, int high) ( if (low < high) ( // Select pivot position and put all the elements smaller // than pivot on the left and greater than pivot on right int pi = partition(array, low, high); // sort the elements on the left of the pivot quickSort(array, low, pi - 1); // sort the elements on the right of pivot quickSort(array, pi + 1, high); ) ) // Driver code public static void main(String args()) ( // create an unsorted array int() data = ( 8, 7, 2, 1, 0, 9, 6 ); int size = data.length; // create an object of the Main class Main qs = new Main(); // pass the array with the first and last index qs.quickSort(data, 0, size - 1); System.out.println("Sorted Array: "); System.out.println(Arrays.toString(data)); ) )

Keluaran 1

 Array yang Tidak Diurutkan: (8, 7, 2, 1, 0, 9, 6) Array yang Diurutkan: (0, 1, 2, 6, 7, 8, 9)

Di sini, elemen array diurutkan dalam urutan menaik. Jika kita ingin mengurutkan elemen dalam urutan menurun, maka di dalam loop for dari partition()metode ini, kita dapat mengubah kode sebagai:

 // the less than sign is changed to greater than if (array(j)>= pivot) (

Jika Anda ingin mempelajari lebih lanjut tentang algoritme pengurutan cepat, kunjungi Algoritme Pengurutan Cepat.

Artikel yang menarik...