对数组a中的n个元素进行排序,生成升序的数据序列,结果如下表所示:
a(1)
| a(2)
| a(3)
| ……
| a(n-2)
| a(n-1)
| a(n)
|
17
| 39
| 48
| ……
| 79
| 79
| 100
|
实现上述功能的VB程序如下,但加框处代码有错,请改正。
Private Sub Command1_Click()
Const n = 8
Dim a(1 To n) As Integer, left As Integer, right As Integer, m As Integer
Dim i As Integer, j As Integer, t As Integer
’读取一组数,存储在数组a中,代码略
For i = 2 To n
left = 1

__________________
Do While left <= right
m = (left + right) \ 2
If a(i) < a(m) Then right = m - 1 Else left = m + 1
Loop

__________________
t = a(i)
For j = i To m + 1 Step -1
a(j) = a(j - 1)
Next j
a(m) = t
Next i
’输出排序结果,代码略
End Sub