Merge Sort
Merge Sort
Scanner; public class merge_sort { public static void mergeSort (int[] array, int kiri, int kanan) { if(kiri < kanan){ int median = (kanan + kiri) / 2; mergeSort (array,kiri, median); mergeSort (array, median + 1, kanan); int akhir = median; int awal = median + 1; while ((kiri <= akhir)&&(awal <= kanan)){ if(array[kiri] < array[awal]){ kiri++; } else{ int temp = array[awal]; for (int k = awal - 1; k >= kiri; k--){ array[k+1] = array[k]; } array[kiri] = temp; kiri++; akhir++; awal++; } } } } public static void main(String[] args) { int array[]; array = new int[5]; Scanner scan = new Scanner(System.in); System.out.println("Masukkan 5 data yang ingin diurutkan : "); for(int i=0; i < array.length; i++) array[i] = scan.nextInt(); System.out.println("Data sebelum diurutkan :"); for(int i = 0; i < array.length; i++) System.out.print(array[i]+" "); System.out.println(); mergeSort(array, 0, array.length-1); System.out.println("Data setelah diurutkan : "); for(int i = 0;i < array.length; i++) System.out.print(array[i]+" "); System.out.println(); } }