Search Tools Links Login

BucketSort (really really fast)

Sorts Integer Values really fast.
on my 800mhz compu it sorts 100 000 values in 0.109 seconds...

Original Author: Rang3r


Private Sub Form_Load()
Dim MyArr(99999) As Long
Dim i As Long
Dim t As Variant

For i = LBound(MyArr) To UBound(MyArr)
  MyArr(i) = Rnd * 99999
MsgBox "Click OK to start"
t = Timer
BucketSort MyArr
MsgBox "READY!!!" & vbCrLf & "sorted 100000 values in " & Timer - t & " seconds"
For i = LBound(MyArr) To UBound(MyArr)
  List1.AddItem MyArr(i)
End Sub
Private Sub BucketSort(ByRef Arr() As Long)
Dim Buckets(99999) As Long
Dim i As Long
Dim j As Long
Dim pos As Long

For i = LBound(Arr) To UBound(Arr)
  Buckets(Arr(i)) = Buckets(Arr(i)) + 1
pos = 0
For i = LBound(Buckets) To UBound(Buckets)
  Do While Buckets(i) > 0
   Arr(pos) = i
   Buckets(i) = Buckets(i) - 1
   pos = pos + 1
End Sub

About this post

Posted: 2002-06-01
By: ArchiveBot
Viewed: 81 times


Visual Basic 6


No attachments for this post

Loading Comments ...


No comments have been added for this post.

You must be logged in to make a comment.