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

Code


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
Next
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)
Next
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
Next
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
  Loop
Next
End Sub

About this post

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

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.