Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Sorting;
- import java.util.Arrays;
- public class QuickSort {
- // Fungsi untuk menukar dua elemen dalam array
- public static void swap(int[] array, int i, int j) {
- int temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
- // Fungsi untuk mempartisi array dan mengembalikan indeks pivot
- public static int partition(int[] array, int low, int high) {
- int pivot = array[high];
- int i = (low - 1); // Indeks dari elemen yang lebih kecil
- for (int j = low; j < high; j++) {
- // Jika elemen saat ini lebih kecil atau sama dengan pivot
- if (array[j] >= pivot) {
- i++;
- swap(array, i, j);
- }
- }
- // Tukar array[i+1] dengan array[high] (atau pivot)
- swap(array, i + 1, high);
- return i + 1;
- }
- // Fungsi utama untuk mengurutkan array menggunakan quick sort
- public static void quickSort(int[] array, int low, int high) {
- if (low < high) {
- // Pi adalah indeks pivot, array[pi] sudah berada di tempat yang benar
- int pi = partition(array, low, high);
- // Urutkan elemen secara rekursif sebelum dan setelah partisi
- quickSort(array, low, pi - 1);
- quickSort(array, pi + 1, high);
- }
- }
- public static void main(String[] args) {
- int[] arr = {3, 6, 0, 2, 8, 10, 4, 3, 5, 11, 1};
- int[] arr_sort = arr.clone();
- int n = arr.length - 1;
- // Tampilkan hasil sebelum diurutkan
- System.out.println("Sebelum diurutkan = " +
- Arrays.toString(arr));
- // Tampilkan hasil setelah diurutkan
- quickSort(arr_sort, 0, n);
- System.out.println("Setelah diurutkan = " +
- Arrays.toString(arr_sort));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement