打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA数组之插入排序算法
userphoto

2023.04.10 北京

关注

插入排序的思想是:将初始数据分为有序部分和无序部分,每一步将一个无序部分的数据插入到前面已经排好序的有序部分中,直到插完所有元素为止。

  插入排序的步骤如下:每次从无序部分中取出一个元素,与有序部分中的元素从后向前依次进行比较,并找到合适的位置,将该元素插到有序组当中。
我们来看看插入排序的图解思路:

来看看VBA代码吧

Sub InsertSort() Dim i, j, temp, arr(1 To 10) For i = 1 To 10 arr(i) = Int(Rnd * 100 + 1) Next i Debug.Print 'Original Data: ' & Join(arr, ',') '输出原始数据 For i = 2 To 10 '循环整个数组 For j = i - 1 To 1 Step -1 '从第一项循环到第 i -1 项,用第i 项去对比,符合条件则插入 If arr(j + 1) < arr(j) Then temp = arr(j + 1) arr(j + 1) = arr(j) arr(j) = temp If j > 1 Then If arr(j - 1) < arr(j) Then Exit For End If End If Next j Next i Debug.Print 'After Sort: ' & Join(arr, ',') '输出排序后的数据
结果输出:
Original Data: 53,77,6,60,47,30,63,65,27,28After Sort: 6,27,28,30,47,53,60,63,65,77

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VBA中数组的读取!
各种排序算法总结
十大经典排序算法(动图演示)
VBA 判断元素是否在数组中
利用VBA求两列单元格相乘的结果
Java学习路线:5分钟了解计数排序
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服