excel vba排序算法(vba排序算法 excel).docVIP

excel vba排序算法(vba排序算法 excel).doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
excel vba排序算法(vba排序算法 excel)

excel vba排序算法(vba排序算法 excel) vba排序算法 excel 2007 - 07 - 11: 30 14排序算法常用的有七种, 分别是冒泡排序, 选择排序, 希尔排序, 堆排序, 桶排序, 插入排序和快速排序. 以下是所有七种排序算法的源码, 具体用法可参见源程序. option explicit public = 0 is zero enum eordertype _ ascending order = 0 descending _ order = 1 end enum 用于指明重复次数的全局变量 public giterations 冒泡排序 under bubblesort (myarray (), byval norder i eordertype) dim index dim temp dim nextelement 先将已处理的元素个数置为0 nextelement = zero 遍历每一个元素 do while (nextelement ubound (myarray)) 读取当前最大下标 index = ubound (myarray) 与前面的每一个元素比较 do while (index nextelement) 根据是升序或降序进行分别处理 if norder = ascending _ order then 升序: 如果当前值小于上一个值, 则互换 if myarray (index) myarray (index 1). temp = myarray (index) myarray (index) = myarray (index 1) myarray (index 1) = temp end if elseif norder = descending _ order then 降序: 如果当前值大于上一个值, 则互换 if myarray (index) myarray (index 1). temp = myarray (index) myarray (index) = myarray (index 1) myarray (index 1) = temp end if end if 将当前下标移到上一个值 index - index = 1 用于指明重复次数的全局变量 giterations = giterations + 1 loop 将已处理的元素个数加1 nextelement = nextelement + 1 用于指明重复次数的全局变量 giterations = giterations + 1 loop end sub 桶排序 under the bucket (myarray (), byval norder i eordertype) dim index dim nextelement dim thebucket 先将已处理的元素个数为最小下标加1 nextelement = lbound (myarray) + 1 遍历每一个元素 while (nextelement = ubound (myarray)) 读取当前元素 thebucket = myarray (nextelement) 读取当前下标 index = nextelement do 如果当前下标大于最小下标, 则处理 if index lbound (myarray) then 根据是升序或降序进行分别处理 if norder = ascending _ order then 升序: 如果当前值小于上一个值 则将下一个值放到当前值 (当前值在thebucket中不动) if thebucket myarray (index 1). myarray (index) = myarray (index 1) index - index = 1 else exit do end if elseif norder = descending _ order then 降序: 如果当前值大于上一个值 则将下一个值放到当前值 (当前值在thebucket中不动) if thebucket myarray (index 1). myarray (index) = myarray (index 1) index - index = 1 else exit do end if end if else exit do end if 用于指明重复次数的全局变量 giterations = giterations + 1 loop myarray (index) = thebucket nextelement = nextelement + 1 用于指明重复次数的全局变量 giterations = g

您可能关注的文档

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档