Data Type VisualBasic Script

Sub Main()
   Dim myArray(4) As Double
   myArray(0) = 9
   myArray(1) = 11
   myArray(2) = 7
   myArray(3) = 4
   
   Call QSort(myArray, 0, 4)
   Debug.Print myArray(0)
   Debug.Print myArray(1)
   Debug.Print myArray(2)
   Debug.Print myArray(3)
End Sub
Sub QSort(sortArray() As Double, ByVal leftIndex As Integer, _
                                     ByVal rightIndex As Integer)
    Dim compValue As Double
    Dim I As Integer
    Dim J As Integer
    Dim tempNum As Double
    I = leftIndex
    J = rightIndex
    compValue = sortArray(Int((I + J) / 2))
    Do
        Do While (sortArray(I) < compValue And I < rightIndex)
            I = I + 1
        Loop
        Do While (compValue < sortArray(J) And J > leftIndex)
            J = J - 1
        Loop
        If I <= J Then
            tempNum = sortArray(I)
            sortArray(I) = sortArray(J)
            sortArray(J) = tempNum
            I = I + 1
            J = J - 1
        End If
    Loop While I <= J
    If leftIndex < J Then QSort sortArray(), leftIndex, J
    If I < rightIndex Then QSort sortArray(), I, rightIndex
End Sub