组卷题库 > 高中信息技术试卷库
试题详情
小周尝试一种新的数据排序方法,先将数据按照增量分成若干组,再分别对这几组数据进行排序并通过缩小增量直到增量为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

请回答以下问题:

知识点
参考答案
采纳过本试题的试卷
教育网站链接