README.md

December 4, 2022 ยท View on GitHub

BucketSort (really really fast)

Description

Sorts Integer Values really fast.

on my 800mhz compu it sorts 100 000 values in 0.109 seconds...

More Info

Submitted On
ByRang3r
LevelIntermediate
User Rating5.0 (15 globes from 3 users)
CompatibilityVB 3.0, VB 4.0 (16-bit), VB 4.0 (32-bit), VB 5.0, VB 6.0, VB Script, ASP (Active Server Pages) , VBA MS Access, VBA MS Excel
CategoryMath/ Dates
WorldVisual Basic
Archive File

Source Code

<pre>
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
</pre>