CARA KERJA INSERTION SORT
Insertion Sort bekerja seperti banyak orang yang sedang mengurutkan
kartu di tangan. Dimulai dengan tangan kiri yang kosong dan kartunya
tertumpuk di meja. Selanjutnya kita ambil satu persatu kartu di meja dan
diletakkan di tangan kiri dengan posisi yang benar (terurut). Untuk
menemukan posisi yang banar, maka kita harus membandingkan satu persatu
kartu yang ada (di tangan kiri) secara berurutan.
Contoh Insertion Sort :
Bagian biru/abu-abu (dua bilangan pertama) sekarang dalam keadaan terurut secara relatif.
Berikutnya, kita perlu menyisipkan bilangan ketiga (4) ke dalam bagian
biru/abu-abu sehingga
setelah penyisipan tersebut, bagian biru/abu-abu tetap dalam keadaan terurut secara relatif;
CARANYA :
pertama : Ambil bilangan ketiga (4).
setelah penyisipan tersebut, bagian biru/abu-abu tetap dalam keadaan terurut secara relatif;
CARANYA :
pertama : Ambil bilangan ketiga (4).
Kedua : Geser bilangan kedua (10) shg ada ruang untuk disisipi.
Ketiga : Sisipkan bilangan 4 ke posisi yang tepat
Sekarang, tiga bilangan pertama sudah terurut secara relatif dan kita
sisipkan bilangan keempat kepada tiga bilangan pertama tsb. Setelah
penyisipan, empat bilangan pertama haruslah dalam keadaan terurut secara
relatif.
Ulangi proses tsb sampai bilangan terakhir disisipkan
Proses Sorting Selesai.
Contoh Skrip Insertion Sort :
program insertion_sort;
uses wincrt;
var
jmldata,i,j:integer;
data,x:array[1..100] of integer;
procedure asc_insert;
var temp:integer;
begin
for i:=2 to jmldata do
begin
temp:=data[i];
j:=i-1;
while (data[j]>temp)and(j>0)do
begin
data[j+1]:=data[j];
dec(j);
end;
data[j+1]:=temp;
end;
writeln('urutan datanya adalah : ');
for i:=1 to jmldata do
begin
write(data[i],' ');
end;
readln;
end;
begin
clrscr;
write('masukan berapa angka yang akan di urut : ');
readln(jmldata);
for i:=1 to jmldata do
begin
write('masukan angka ke-',i,':');
readln(data[i]);
end;
asc_insert;
readln;
end.
0 komentar:
Posting Komentar
Terima Kasih Kunjungannya. Jangan Lupa Tinggalkan Komentar yaa... salam sukses.