VBA排序地十种算法

VBA排序地十种算法

ID:39399627

大小:26.48 KB

页数:19页

时间:2019-07-02

VBA排序地十种算法_第1页
VBA排序地十种算法_第2页
VBA排序地十种算法_第3页
VBA排序地十种算法_第4页
VBA排序地十种算法_第5页
资源描述:

《VBA排序地十种算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准在使用VBA进行写程序时,经常会做排序,下面将会给出一些常用的排序算法的实现,方便大家写程序参考,若代码中出现了错误,欢迎高手指正。主要算法有:1、(冒泡排序)Bubblesort2、(选择排序)Selectionsort3、(插入排序)Insertionsort4、(快速排序)Quicksort5、(合并排序)Mergesort6、(堆排序)Heapsort7、(组合排序)CombSort8、(希尔排序)ShellSort9、(基数排序)RadixSort10、ShakerSort第一种(冒泡排序)Bubbleso

2、rtPublicSubBubbleSort(ByReflngArray()AsLong)DimiOuterAsLongDimiInnerAsLongDimiLBoundAsLongDimiUBoundAsLongDimiTempAsLongiLBound=LBound(lngArray)iUBound=UBound(lngArray)'冒泡排序ForiOuter=iLBoundToiUBound-1ForiInner=iLBoundToiUBound-iOuter-1文档大全实用标准'比较相邻项IflngArray(iInn

3、er)>lngArray(iInner+1)Then'交换值iTemp=lngArray(iInner)lngArray(iInner)=lngArray(iInner+1)lngArray(iInner+1)=iTempEndIfNextiInnerNextiOuterEndSub2、(选择排序)Selectionsort1.PublicSubSelectionSort(ByReflngArray()AsLong)2.DimiOuterAsLong3.DimiInnerAsLong4.DimiLBoundAsLong5.D

4、imiUBoundAsLong6.DimiTempAsLong7.DimiMaxAsLong8.9.iLBound=LBound(lngArray)10.iUBound=UBound(lngArray)11.12.'选择排序13.ForiOuter=iUBoundToiLBound+1Step-114.15.iMax=0文档大全实用标准1.2.'得到最大值得索引3.ForiInner=iLBoundToiOuter4.IflngArray(iInner)>lngArray(iMax)TheniMax=iInner5.Next

5、iInner6.7.'值交换8.iTemp=lngArray(iMax)9.lngArray(iMax)=lngArray(iOuter)10.lngArray(iOuter)=iTemp11.12.NextiOuter13.EndSub复制代码第三种(插入排序)Insertionsort1.PublicSubInsertionSort(ByReflngArray()AsLong)2.DimiOuterAsLong3.DimiInnerAsLong4.DimiLBoundAsLong5.DimiUBoundAsLong6.D

6、imiTempAsLong7.8.iLBound=LBound(lngArray)9.iUBound=UBound(lngArray)10.11.ForiOuter=iLBound+1ToiUBound12.13.'取得插入值14.iTemp=lngArray(iOuter)15.文档大全实用标准1.'移动已经排序的值2.ForiInner=iOuter-1ToiLBoundStep-13.IflngArray(iInner)<=iTempThenExitFor4.lngArray(iInner+1)=lngArray(iI

7、nner)5.NextiInner6.7.'插入值8.lngArray(iInner+1)=iTemp9.NextiOuter10.EndSub复制代码第四种(快速排序)Quicksort1.PublicSubQuickSort(ByReflngArray()AsLong)2.DimiLBoundAsLong3.DimiUBoundAsLong4.DimiTempAsLong5.DimiOuterAsLong6.DimiMaxAsLong7.8.iLBound=LBound(lngArray)9.iUBound=UBound

8、(lngArray)10.11.'若只有一个值,不排序12.If(iUBound-iLBound)Then13.ForiOuter=iLBoundToiUBound14.IflngArray(iOuter)>lngArray(iMax)TheniMax=iOuter15.NextiOute

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。