|
楼上说了,你用的不是纯粹的冒泡排序,不能与星光老师的“优化的冒泡排序”进行比较速度,没意义。
未优化的冒泡排序代码是:
Sub 冒泡排序()
'########创建10000行的随机数字########
' Cells.Clear
' Dim brr(1 To 10000, 1 To 1) As Long
' Dim k As Long
' For k = 1 To 10000
' Randomize
' brr(k, 1) = Int(10000 * Rnd) + 1
' Next
' [a1:a10000] = brr
'########下面是星光老师的原代码#########
Dim r, i&, j&, n, blnIsSorted As Boolean
r = Range("a1:a" & Cells(Rows.Count, 1).End(xlUp).Row)
Dim t
t = Timer
For i = UBound(r) - 1 To 1 Step -1
For j = 1 To i
If r(j, 1) > r(j + 1, 1) Then
n = r(j, 1)
r(j, 1) = r(j + 1, 1)
r(j + 1, 1) = n
End If
Next
Next
MsgBox "用时 " & Format(Timer - t, "0.00") & " 秒"
Range("c1").Resize(UBound(r), 1) = r
End Sub
|
|