小周尝试一种新的数据排序方法,先将数据按照增量分成若干组,再分别对这几组数据进行排序并通过缩小增量直到增量为1的方法实现最终排序。如若要将数据“71,54,58,29,31,78,2”升序排序,增量的初值为3,则数据分为3组,为“71,29,2”“54,31”“58,78”,分别对各组数据排序后变为“2,31,58,29,54,78,71”,更新增量为1,最终通过后续处理实现排序。
待排序数据存储在数组a中(a(1)…a(n)),共有n个数据,要求升序排序
Dim a(0 To 100) As Integer
Dim n As Integer
Private Sub Command 1_Click()
Dim i As Integer,m As Integer
m=n\2
Do While '改错
For i=1To m
Call jpsort(i,m) '调用过程jpsort()
Next
m=m\2
Loop
'显示输出结果
End Sub
Private Sub jpsort(start As Integer,w As Integer)
For i=start To n Step w
For j=②To i+w Step-w '填空
If a(j-w) >a(j) Then
t=a(j-w):③:a(j)=t '填空
End If
Next
Next
End Sub
请回答以下问题: