Sort The Contents of an Array

 Private Sub BubbleSort(varArray As Variant, bAscending As Boolean)    'Option Base 0 is assumed        Dim HoldEntry As Integer    Dim SwapOccurred As Boolean    Dim iItteration As Integer    Dim i As Integer     SwapOccurred = True    iItteration = 1        Do Until Not SwapOccurred        SwapOccurred = False        For i = LBound(varArray) To UBound(varArray) - iItteration Step 1            If bAscending Then                If varArray(i) > varArray(i + 1) Then                    HoldEntry = varArray(i)                    varArray(i) = varArray(i + 1)                    varArray(i + 1) = HoldEntry                    SwapOccurred = True                End If            Else                If varArray(i + 1) > varArray(i) Then                    HoldEntry = varArray(i)                    varArray(i) = varArray(i + 1)                    varArray(i + 1) = HoldEntry                    SwapOccurred = True                End If            End If        Next i        iItteration = iItteration + 1   'reduce iteration each time as greatest/lowest                                        'item already at end/start of array    Loop    End Sub 'to call ....Private Sub cmdBubbleSort_Click()     Dim lArray(999) As Long, iCnt As Integer        'populate array with dummy data    For iCnt = LBound(lArray) To UBound(lArray) Step 1        lArray(iCnt) = Int((1000 * Rnd) + 1)    Next iCnt     Call BubbleSort(lArray, True)        'display result    For iCnt = LBound(lArray) To UBound(lArray) Step 1        lstResult.AddItem lArray(iCnt)    Next iCnt End Sub

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: