VB:冒泡排序
Private Sub Command1_Click()
Dim i%
Dim x(1 To 10) As Single
For i = 1 To 10
x(i) = Val(InputBox("input"))
Next i
Call bubbleSort(x)
For i = LBound(x) To UBound(x) 'LBound(x)和UBound(x)是用于获取数组x的下界和上界的函数。LBound(x)返回数组x的最小索引(即下界),UBound(x)返回数组x的最大索引(即上界)
Print x(i); '加分号的目的是其显示为一行数据
Next i
End Sub
Sub bubbleSort(arr!()) '通过arr!()表示arr是一个数组,并且!()表示该数组是在子程序调用时传递给它的
Dim i%, j%
For i = UBound(arr) To LBound(arr) Step -1
For j = 1 To i - 1
If arr(j) > arr(j + 1) Then
Call mySwap(arr(j), arr(j + 1))
End If
Next j
Next i
End Sub
Sub mySwap(ByRef a, ByRef b)
Dim c As Variant
c = a
a = b
b = c
End Sub