把要排序的数放到数组里: Private Sub Sort(ByRef arrSort() As Integer) Dim arrTemp As Integer, i%, j% For i = 0 To UBound(arrSort) For j = i + 1 To UBound(arrSort) If arrSort(i) > arrSort(j) Then arrTemp = arrSort(i) arrSort(i) = arrSort(j) arrSort(j) = arrTemp End If Next Next End Sub Private Sub Command1_Click() Dim arr(3) As Integer Dim i% '33,22,55,66 arr(0) = "33" arr(1) = "22" arr(2) = "55" arr(3) = "66" Sort arr '调用排序函数 Debug.Print arr(0) & "," & arr(1) & "," & arr(2) & "," & arr(3) & "," End Sub
'比较小数也是一样的,只不过把数据类型由Integer改为Single类型就好了,代码如下: Private Sub Sort(ByRef arrSort() As Single) Dim arrTemp As Single, i%, j% For i = 0 To UBound(arrSort) For j = i + 1 To UBound(arrSort) If arrSort(i) > arrSort(j) Then arrTemp = arrSort(i) arrSort(i) = arrSort(j) arrSort(j) = arrTemp End If Next Next End SubPrivate Sub Command1_Click() Dim arr(3) As Single Dim i% arr(0) = "33.1" arr(1) = "44.2" arr(2) = "55.1" arr(3) = "11.9" Sort arr Debug.Print arr(0) & "," & arr(1) & "," & arr(2) & "," & arr(3) & "," End Sub
Private Sub Sort(ByRef arrSort() As Integer)
Dim arrTemp As Integer, i%, j%
For i = 0 To UBound(arrSort)
For j = i + 1 To UBound(arrSort)
If arrSort(i) > arrSort(j) Then
arrTemp = arrSort(i)
arrSort(i) = arrSort(j)
arrSort(j) = arrTemp
End If
Next
Next
End Sub
Private Sub Command1_Click()
Dim arr(3) As Integer
Dim i% '33,22,55,66
arr(0) = "33"
arr(1) = "22"
arr(2) = "55"
arr(3) = "66"
Sort arr '调用排序函数
Debug.Print arr(0) & "," & arr(1) & "," & arr(2) & "," & arr(3) & ","
End Sub
Private Sub Sort(ByRef arrSort() As Single)
Dim arrTemp As Single, i%, j%
For i = 0 To UBound(arrSort)
For j = i + 1 To UBound(arrSort)
If arrSort(i) > arrSort(j) Then
arrTemp = arrSort(i)
arrSort(i) = arrSort(j)
arrSort(j) = arrTemp
End If
Next
Next
End SubPrivate Sub Command1_Click()
Dim arr(3) As Single
Dim i%
arr(0) = "33.1"
arr(1) = "44.2"
arr(2) = "55.1"
arr(3) = "11.9"
Sort arr
Debug.Print arr(0) & "," & arr(1) & "," & arr(2) & "," & arr(3) & ","
End Sub