Sorting X

   Sebenarnya pada pertemuan ke – 6 ini, tidak di sebutkan secara langsung sorting yang dimaksud, setelah mencari - cari referensi tentang sorting yang dimaksud, saya menemukan beberapa kemiripan pada sorting jenis Insertion Sort jadi di resume ini saya mengambil Insertion Sort Sebagai materi kali ini. Berikut pemaparannya

 

Insertion Sort Java

 

Insertion sort yang ada dalam bahasa pemrograman Java adalah algoritma pengurutan sederhana yang memungkinkan pengurutan larik di tempat yang efisien, satu elemen pada satu waktu. Dengan adanya penyortiran di tempat, yang dimaksud di sini adalah bahwa array asli dimodifikasi dan tidak diperlukan struktur sementara.

 

Array hampir dibagi menjadi bagian yang diurutkan dan tidak disortir kemudian ditempatkan pada posisi yang benar di bagian yang diurutkan.

 

 

 

Untuk mengurutkan array berukuran n dalam urutan menaik, Anda bisa menggunakan cara-cara berikut ini:

 

1: Iterasi dari arr[1] ke arr[n] di atas array.

 

2: membandingkan elemen (val) saat ini dengan pendahulunya.

 

3: Jika elemen key lebih kecil dari pendahulunya, bandingkan dengan elemen sebelumnya. Pindahkan elemen yang lebih besar satu posisi ke atas untuk memberi ruang bagi elemen yang ditukar.

 

Contoh:

 

15, 7, 17, 5, 6

 

Mari kita lakukan dan terapkan perulangan untuk i = 1 (elemen kedua dari array) ke 7 (elemen terakhir dari array)

 

i = 1. Karena 7 lebih kecil dari 15, pindahkan 15 dan masukkan 7 sebelum 15

 

7, 15, 17, 5, 6

 

i = 2. 17 akan tetap pada posisinya karena semua elemen di A[0..I-1] lebih kecil dari 17

 

7, 15, 17, 5, 6

 

i = 3. 5 akan bergerak ke awal dan semua elemen lain dari 7 hingga 17 akan bergerak satu posisi di depan posisi mereka saat ini.

 

5, 7, 15, 17, 6

 

i = 7. 6 akan berpindah ke posisi setelah 5, dan elemen dari 7 hingga 17 akan bergerak satu posisi di depan posisinya saat ini.

 

5, 6, 7, 15, 17

 

Berikut adalah contoh penerapannya:

 

package Pertemuan6;

import
java.util.*;
public class
InsertionSort {
   
public static void main(String[] args) {
       
int[] numArray = {15,7,17,5,6};
       
System.out.println("Sebelum insertion sort di terapkan : " + Arrays.toString(numArray));
        for
(int i = 1; i < numArray.length-1; i++){
           
int temp = numArray[i];
            int
j = i - 1;
            while
( j >= 0 && temp <= numArray[j])   {
                numArray[j +
1] = numArray[j];
               
j = j - 1;
           
}
            numArray[j +
1] = temp;
       
}
        System.
out.println("Setelah di sorting : " + Arrays.toString(numArray));
   
}
}

 


Komentar