正文

''快速排序2005-09-25 22:51:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/5341.html

分享到:

'快速排序Public Function QuickSortASC(vData As Variant, Low As Long, Hi As Long) As Boolean   If Not IsArray(vData) Then Exit Function      Dim lTmpLow As Long   Dim lTmpHi As Long   Dim lTmpMid As Long   Dim vTempVal As Long   Dim vTmpHold As Long   On Error GoTo QuickSort   QuickSortASC = False      lTmpLow = Low   lTmpHi = Hi      If Hi <= Low Then Exit Function      If lTmpMid = 0 Then      lTmpMid = (Low + Hi) \ 2   End If      vTempVal = vData(lTmpMid)      Do While (lTmpLow <= lTmpHi)           Do While (vData(lTmpLow) < vTempVal And lTmpLow < Hi)         lTmpLow = lTmpLow + 1      Loop           Do While (vTempVal < vData(lTmpHi) And lTmpHi > Low)         lTmpHi = lTmpHi - 1      Loop           If (lTmpLow <= lTmpHi) Then         vTmpHold = vData(lTmpLow)         vData(lTmpLow) = vData(lTmpHi)         vData(lTmpHi) = vTmpHold         lTmpLow = lTmpLow + 1         lTmpHi = lTmpHi - 1      End If        Loop     If (Low < lTmpHi) Then      QuickSortASC vData, Low, lTmpHi   End If     If (lTmpLow < Hi) Then      QuickSortASC vData, lTmpLow, Hi   End If   QuickSortASC = True      Exit FunctionQuickSort:   MsgBox "ÊäÈëÁË´íÎóµÄÊý¾Ý", vbExclamation, "´íÎó"End Function

阅读(2679) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册