Untuk menjelaskan algoritma
pengurutan dengan metode penyisipan, bayangkan
setumpuk kartu ada di meja,
dengan nomor :
[10, 7, 3, 1, 2, 6]
Pertama, kartu 10 di peroleh di
tangan kiri :
[10]
Ke dua, di ambil kartu nomor 7,
karena lebih kecil dari pada 10, di taruh di sebelah kanan, sehingga diperoleh
:
[7,10]
Ke tiga, di ambil kartu nomor 3,
di bandingkan dengan kartu pertama, 3 lebih kecil dari 7 dan 10, sehingga di
letakkan di sebelah kiri, sehingga diperoleh :
[3,
7, 10]
Mulai dari langkah ketiga, dapat
di simpulkan bahwa “tempat yang tepat ” berarti “kartu yang saat ini diambil
akan diletakkan berada antara yang kecil atau yang besar dari pembanding kartu yang
sudah ada tersebut”.
Untuk urutan tiap fasenya
seperti di bawah ini :
Data
awal : [10, 7, 3, 1, 2, 6]
Fase
1, 7 masuk [7,
10, 3, 1, 2, 6]
Fase
2, 3 masuk [3, 7, 10, 1, 2, 6]
Fase
3, 1 masuk [1, 3, 7, 10, 2, 6]
Fase
4, 2 masuk [1, 2, 3, 7,
10, 6]
Fase
5, 6 masuk [1, 2, 3, 6, 7, 10]
Fase
6 [1, 2, 3, 6, 7,
10]
Algoritma:
Deklarasi :
K,
j, temp :integer
Deskripsi :
For
k ß 2 to n do
Temp
= data[k];
J
= k -1;
while
(temp <= data [j]) and (j > 1) do
data [j+1] := data [j];
j := j-1;
endwhile
if (temp >= data [j]) then
data [j+1] := temp ;
else
data [j+1] := data [j];
0 komentar:
Posting Komentar