ورود

View Full Version : مبتدی: نحوه ارتباط تابع کویک سورت با فرم اکسس



Honestvip
دوشنبه 14 اردیبهشت 1394, 08:00 صبح
سلام دوستان بنده کد الگوریتم Quick sort رو دارم
ولی نمیدونم چطوری در فرم اکسس مثلا در یک لیست باکس ازش استفاده کنم

Option Compare Database

Private Sub QuickSort(ByRef Values As Variant, Optional ByVal Left As Long, Optional ByVal Right As Long)
Dim i As Long
Dim j As Long
Dim K As Long
Dim Item1 As Variant
Dim Item2 As Variant

On Error GoTo Catch
If IsMissing(Left) Or Left = 0 Then Left = LBound(Values)
If IsMissing(Right) Or Right = 0 Then Right = UBound(Values)
i = Left
j = Right

Item1 = Values((Left + Right) \ 2, 2)
Do While i < j
Do While Values(i, 2) < Item1 And i < Right
i = i + 1
Loop
Do While Values(j, 2) > Item1 And j > Left
j = j - 1
Loop
If i < j Then
Call Swap(Values, i, j)
End If
If i <= j Then
i = i + 1
j = j - 1
End If
Loop
If j > Left Then Call QuickSort(Values, Left, j)
If i < Right Then Call QuickSort(Values, i, Right)
Exit Sub
Catch:
MsgBox Err.Description, vbCritical

End Sub
Private Sub Swap(ByRef Values As Variant, ByVal i As Long, ByVal j As Long)
Dim Temp1 As Double
Dim Temp2 As Double
Temp1 = Values(i, 1)
Temp2 = Values(i, 2)
Values(i, 1) = Values(j, 1)
Values(i, 2) = Values(j, 2)
Values(j, 1) = Temp1
Values(j, 2) = Temp2
End Sub