如何用VBA实现冒泡排序?
Posted 肥嘟嘟的大笨熊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用VBA实现冒泡排序?相关的知识,希望对你有一定的参考价值。
何为冒泡排序?
冒泡排序(Bubblesort)以其"在排序过程中相邻元素不断交换,一些元素慢慢被换到最后,看起来就像是元素在冒泡一样,因此而得名"。
原理:重复的走访需要排序的元素列,依次比较两个相邻的元素,如果顺序不符合设定的规则就交换过来。
图解冒泡排序原理
来源于百度搜索(很清晰的表达了其原理)
用VBA代码实现冒泡排序
Sub 冒泡排序() '从小到大
Dim arr, p, i, k, l, j
t = Timer
Range("a1:a12") '需要排序的数据放入数组里 =
For i = 1 To UBound(arr) - 1
For k = i + 1 To UBound(arr)
If arr(i, 1) > arr(k, 1) Then
p = arr(i, 1)
1) = arr(k, 1)
1) = p
End If
Next k
Next i
arr =
MsgBox "用时: " & Format(Timer - t, "0.00秒"), vbInformation, "提示"
End Sub
Sub 冒泡排序1() '从大到小
Dim arr, p, i, k, l, j
t = Timer
arr = Range("a1:a12")
For i = 1 To UBound(arr) - 1
For k = i + 1 To UBound(arr)
If arr(i, 1) < arr(k, 1) Then
p = arr(i, 1)
1) = arr(k, 1)
1) = p
End If
Next k
Next i
arr =
MsgBox "用时: " & Format(Timer - t, "0.00秒"), vbInformation, "提示"
End Sub
实例演示
以上是关于如何用VBA实现冒泡排序?的主要内容,如果未能解决你的问题,请参考以下文章