Kali ini saya akan membagikan cara mudah untuk mengurutkan angka atau yang biasa di kenal dengan quick sort pada pemrograman java. . langsung saja dicoba, . .
import java.util.Scanner;
public class QuickSort {
public static void main(String args[]) {
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
System.out.print("Masukkan banyaknya data\t: ");
int n = input.nextInt();
int[] susun = new int[n];
System.out.print("Masukkan " + n + " angka\t: ");
for (int i = 0; i < n; i++)
susun[i] = input.nextInt();
if (susun.length == 0) {
System.out.println("Data kosong. Anda belum menginput data!");
System.exit(0);
} else if (susun.length == 1) {
System.out.println("Hanya satu element, data otomatis terurut.");
} else {
quickSort(susun, 0, susun.length - 1);
}
System.out.print("Data setelah diurut\t: ");
for (int i = 0; i <= susun.length - 1; i++) {
System.out.print(susun[i] + " ");
}
}
public static void quickSort(int[] input, int p, int r) {
if (p < r) {
int q = partition(input, p, r);
quickSort(input, p, q - 1);
quickSort(input, q+1 ,r);
}
}
public static int partition(int[] input,int p, int q){
int x = input[p];
int i = p;
for (int j = (p + 1); j <= q; j++) {
if (input[j] <= x) {
i = i + 1;
int temp = input[j];
input[j] = input[i];
input[i] = temp;
}
}
int temp1 = input[p];
input[p] = input[i];
input[i] = temp1;
return i;
}
}
Semoga bermanfaat, .
0 Response to "Quick Sort"
Post a Comment