题库 信息技术题库 题目列表 n个数据的冒泡排序需要经过n-1遍加工,每一遍加工自下...
填空题

n个数据的冒泡排序需要经过n-1遍加工,每一遍加工自下而上比较相邻两个数据,把较小者交换到上面。小刘发现:当某一遍加工过程中没有数据交换,说明数据已经有序,无需进一步加工。为此,小刘对算法进行优化,编写了一个VB程序,功能如下:运行程序时,在列表框List1中显示排序前数据,单击“排序”按钮Command1,在列表框List2中显示这些数据按升序排序后的结果,在标签Label3中显示排序过程的加工遍数。运行效果如图所示。

实现上述功能的VB代码如下,但加框处代码有错,请改正。

Dim a1 To 8 As Integer

Dim n As Integer

Private Sub Form_Load()

' n=8 ,排序前数据存储在数组 a 中,并在列表框Listl中显示

'代码略

End Sub

Private Sub Command1_Click()

Dim flag As Boolean                ' flag 值为 True 表示一遍加工中发生过交换

i = 1

flag = True

Do While           i <= n - 1 Or flag = True       '1

flag = False

For j = n To i + 1 Step -1

If aj < aj - 1 Then

k = aj: aj = aj - 1: aj - 1 = k

flag = True

End If

Next j

i = i + 1

Loop

Label3.Caption = "排序过程的加工遍数为" + Stri'2

For i = 1 To n

i <= n - 1 Or flag = True

Stri

List2.AddItem Strai))

Next i

End Sub

划线处代码应该改为:

1___________

2___________

题目信息
解答题 高考及会考
-
正确率
0
评论
124
点击