下载此文档

vba排序的十种算法.docx


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍

: .
VBA排序的十种算法
在使用VBA进行写程序时,经常会做排序,下面将会给出一些常用的排序算法的实现,方便大家写程序参考,若代码中出现了错误,欢迎高手指正。
主要算法有:
1、(冒泡排序)Bubble sort
2、(选择排序)Selection sort
3、(插入排序)Insertion sort
4、(快速排序)Quick sort
5、(合并排序)Merge sort
6、(堆排序)Heap sort
7、(组合排序)Comb Sort
8、(希尔排序)Shell Sort
9、(基数排序)Radix Sort
10、Shaker Sort
第一种 (冒泡排序)Bubble sort
第三种 (插入排序)Insertion sort
1. Public Sub InsertionSort(ByRef lngArray() As Long)
2. Dim iOuter As Long
3. Dim iInner As Long
4. Dim iLBound As Long
5. Dim iUBound As Long
6. Dim iTemp As Long
7.
8. iLBound = LBound(lngArray)
9. iUBound = UBound(lngArray)
10.
11. For iOuter = iLBound + 1 To iUBound
12.
13. '取得插入值
14. iTemp = lngArray(iOuter)
15.
16. '移动已经排序的值
17. For iInner = iOuter - 1 To iLBound Step -1
18. If lngArray(iInner) <= iTemp Then Exit For
19. lngArray(iInner + 1) = lngArray(iInner)
20. Next iInner
21.
22. '插入值
23. lngArray(iInner + 1) = iTemp
24. Next iOuter
25. End Sub
复制代码
第四种 (快速排序)Quick sort
1. Public Sub QuickSort(ByRef lngArray() As Long)
2. Dim iLBound As Long
3. Dim iUBound As Long
4. Dim iTemp As Long
5. Dim iOuter As Long
6. Dim iMax As Long
7.
8. iLBound = LBound(lngArray)
9. iUBound = UBound(lngArray)
10.
11. '若只有一个值,不排序
12. If (iUBound - iLBound) Then
13. For iOuter = iLBound To iUBound
14. If lngArray(iOuter) > lngArray(iMax) Then iMax = iOuter
15. Next iOuter
16.
17. iTemp = lngArray(iMax)
18. lngArray(iMax) = lngArray(iUBound)
19. lngArray(iUBound) = iTemp
20.
21. '开始快速排序
22. InnerQuickSort lngArray, iLBound, iUBound
23. End If
24. End Sub
25.
26. Private Sub InnerQuickSort(ByRef lngArray() As Long, ByVal iLeftEnd As Long, ByVal iRightEnd As Long)
27. Dim iLeftCur As Long
28. Dim iRightCur As Long
29. Dim iPivot As Long
30. Dim iTemp As Long
31.
32. If iLeftEnd >= iRightEnd Then Exit Sub
33.
34. iLeftCur =

vba排序的十种算法 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人lu2yuwb
  • 文件大小1.15 MB
  • 时间2021-04-17