Membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar. Dan begitu seterusnya
Langkah 1 :
i = 1 2 3 4 5 6
22 10 15 3 8 2
Pembanding posisi
22 > 10 2
10 < style=""> 2
10 > 3 4
3 < style=""> 4
3 > 2 6
Posisi data ke-1(22) =6
Tukar data ke-1 dengan data ke-6
2 10 15 3 8 22
Langkah 2 :
i= 1 2 3 4 5 6
2 10 15 3 8 22
Pembanding posisi
10 < style=""> 2
10 > 3 4
3 < style=""> 4
3 < style=""> 4
Posisi data ke 2(10)=4
Tukar data ke-2 dengandata ke-4
2 3 15 10 8 22
• Langkah 3:
i= 1 2 3 4 5 6
2 3 15 10 8 22
Pembanding posisi
15 < style=""> 4
10 > 8 5
8< style=""> 5
Posisi data ke 3(15)=5
Tukar data ke-3 dengandata ke-5
2 3 8 10 15 22
Langkah 4 :
i= 1 2 3 4 5 6
2 3 8 10 15 22
Pembanding posisi
10 < style=""> 4
10 > 22 4
8< style=""> 5
Posisi data ke-4=tetap
Pada posisinya=4(tidak berubah)
2 3 8 10 15 22
Langkah 5 :
i= 1 2 3 4 5 6
2 3 8 10 15 22
Pembanding posisi
15 < style=""> 5
Posisi data ke-5=tetap
Pada posisinya=5(tidak berubah)
2 3 8 10 15 22
Terurut:
2 3 8 10 15 22
algoritma selection sort :
Procedure acending_Selection;
Var I,j,pos:byte;
Begin
for i:=1 to max-1 do
begin
pos:=I;
for j:=i+1 to max do
if data[j] <>
if i<>pos then
tukardata(data[i],data[pos])
end;
End;
• Procedure desending_Selection;
Var I,j,pos:byte;
Begin
for i:=1 to max-1 do
begin
pos:=I;
for j:=i+1 to max do
if data[pos] <>
if i<>pos then
tukardata(data[i],data[pos])
end;
End;
Tidak ada komentar:
Posting Komentar