Radix Sort merupakan salah satu algoritma Non-Comparasion Sort (pengurutan tanpa perbandingan). Proses yang dilakukan dalam metode ini adalah mengklasifikasikan/menyelesaikan data sesuai dengan kategori terurut yang tertentu, dan tiap kategori dilakukan pengklasifikasian lagi, dan seterusnya sesuai kebutuhan, kemudian subkategori-kategori atau bagian-bagian dari kategori tersebut digabungkan kembali.
Secara harfiah Radix dapat diartikan sebagai posisi dalam angka, karena cara ini pertama kalinya mengurutkan nilai-nilai yang dimasukan (input) berdasarkan radix pertamanya, lalu pengurutan dilakukan berdasarkan radix keduanya, dan begitu seterusnya. Pada sistem desimal, radix adalah digit dalam angka desimal. Misalnya, angka “169” mempunyai 3 digit yaitu 1,6 dan 9.
Imports System.Console
Module Module10
Sub main()
Dim byk, k, l, m, n, o, p As Integer
Write("Masukan Banyak angka : ")
byk = ReadLine()
WriteLine()
Dim h(byk - 1) As Integer
For k = 1 To byk
Write("Angka ke-{0} : ", k)
h(k - 1) = ReadLine()
Next
l = byk
m = 1
If l > 13 Then
Do While m < l
m = (3 * m) + 1
Loop
m \= 9
End If
Do While m
For n = m To byk - 1
o = h(n)
For p = n - m To 0 Step -m
If h(p) <= o Then Exit For
h(p + m) = h(p)
Next
h(p + m) = o
Next
m \= 3
Loop
WriteLine()
WriteLine("Hasil : ")
For k = 1 To byk
Write(h(k - 1) & " ")
Next
ReadKey()
End Sub
End Module
Comments
Post a Comment