Minggu, 20 Desember 2015

Insertion Sorting dan cara men-tracingnya

Insertion sort adalah sebuah metode pengurutan data dengan menempatkan setiap elemen data pada pisisinya dengan cara melakukan perbandingan dengan data – data yang ada. Inde algoritma dari metode insertion sort ini dapat dianalogikan sama seperti mengurutkan kartu, dimana jika suatu kartu dipindah tempatkan menurut posisinya, maka kartu yang lain akan bergeser mundur atau maju sesuai kondisi pemindahanan kartu tersebut. Dalam pengurutan data, metode ini dipakai bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array diurutkan.


ini adalah source codenya:

void insertion (int x[], int n)
      int i , j ,y ;
      for(j=1 ; j<n ; j++)
             y=x[j];
             for(i=j-1;i>=0 && y<x[i] ; i--);{
                      x[i+1]=x[i];
             }
             x[i+1]=y
       }
}

kali ini saya akan mencoba melakukan sorting menggunakan metode ini ;
saya akan mensorting 6 angka secara rondom , jadi nilai n adalah sebesar 6.

angka randomnya adalah seperti berikut ;
  8 2 5 1 7 0 

ini adalah tracingnya : 
x
j
i
y
i>=0 && y<x[i]
8 2 5 1 2 0




2 8 5 1 2 0
1
0
2
t        t
  

-1

f
2 5 8 1 2 0
2
1
5
t        t


0

t        f
2 5 1 8 2 0
3
2
1
t        t
2 1 5 8 2 0

1

t        t
1 2 5 8 2 0

0

t        t


-1

f
1 2 5 2 8 0
4
3
2
t        t
1 2 2 5 8 0

2

t        t


1

t        f
1 2 2 5 0 8
5
4
0
t        t
1 2 2 0 5 8

3

t        t
1 2 0 2 5 8

2

t        t
1 0 2 2 5 8

1

t        t
0 1 2 2 5 8

0

t        t


-1

f

6




angka sudah berurutan menjadi 0 1 2 2 5 8. semoga bermanfaat.







Tidak ada komentar:

Posting Komentar