Search Tools Links Login

BucketSort (really really fast)


Visual Basic 6, or VB Classic

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: 95 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.