|
发表于 2023-11-14 09:35
来自手机
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 lss001 于 2023-11-14 12:34 编辑
'Vba一维数组快速排序
Sub Quicksort(vArray, L&, U&)
Dim pVal, vSwap, pL&, pU&
pL = L: pU = U
pVal = vArray((L + U) \ 2)
While (pL <= pU)
While (vArray(pL) < pVal And pL < U)
pL = pL + 1
Wend
While (pVal < vArray(pU) And pU > L)
pU = pU - 1
Wend
If (pL <= pU) Then
vSwap = vArray(pL)
vArray(pL) = vArray(pU)
vArray(pU) = vSwap
pL = pL + 1
pU = pU - 1
End If
Wend
If (L < pU) Then Quicksort vArray, L, pU
If (pL < U) Then Quicksort vArray, pL, U
End Sub |
|