Dim Arr(1 To 9) As Integer, tmp As Integer, tmpIndex As Integer
Arr(1) = 69
Arr(2) = 65
Arr(3) = 90
Arr(4) = 37
Arr(5) = 500
Arr(6) = 6
Arr(7) = 20
Arr(8) = 85
Arr(9) = 500
tmpIndex = 9
Do While tmpIndex > 1
For i = tmpIndex \ 2 To 1 Step -1
If Arr(i) < Arr(2 * i) Then tmp = Arr(i): Arr(i) = Arr(2 * i): Arr(2 * i) = tmp
If i = tmpIndex \ 2 Then
If tmpIndex Mod 2 = 1 Then
If Arr(i) < Arr(2 * i + 1) Then: tmp = Arr(i): Arr(i) = Arr(2 * i + 1): Arr(2 * i + 1) = tmp
End If
Else
If Arr(i) < Arr(2 * i + 1) Then: tmp = Arr(i): Arr(i) = Arr(2 * i + 1): Arr(2 * i + 1) = tmp
End If
Next
tmp = Arr(1): Arr(1) = Arr(tmpIndex): Arr(tmpIndex) = tmp: tmpIndex = tmpIndex - 1
Loop
Dim str As String
For i = 1 To 9
str = str & " " & Arr(i)
Next
MsgBox str