請教快速排序法(編號:8696)

這是在書上所看到的...
1 Sub quicksort(list() As Long, ByVal left As Integer, Bybal Right As Integer)
2 Dim i, j As Integer, pivot As Integer
3 If left < right then
4  i = left : j=right + 1
5  pivot = list(left)
6  Do
7   Do
8    i=i+1
9   Loop While(list(i) < pivot)
10    Do
11     j = j + 1
12   Loop While(List(j) < Pivot
13    If (i < j) Then
14      swap(list(),i ,j)
15    End If
16  Loop While (i < j)
17    swap(list(), left , j)
18    quicksort(list(),left , j-1)
19    quicksort(list(),j+1 , right)
20 End If
21 End Sub
Sub swap(list() As Long, ByVal a, Byval b)
Dim temp As Long
 temp = list(a)
 list(a) = list(b)
 list(b)= temp
End Sub
請問在第4行的地方 i = left : j = right +1,那個:是做什麼用的ㄚ,,?而他怎麼可以在一行中下兩個指令呢.!?.
還有請問他傳入的left 和 right參數是否為LBound(list)與RBound(list)呢..!?如果是的話.那在第12行的While條件式中的list(j)不就會出問題了嗎?..另外第11行的j=j+1是否要改成j=j-1呢..!?
謝謝