插入排序的方法

插入排序的方法

如下图所示,需要对A列重新排序,使用的原理是,从第二个开始,都要和上面的比较,如果遇到大的,大的下沉一位,然后和当前X的值进行对调。

Option Explicit
Sub Test()
    Dim arr, temp, x, y  '声明变量 
        arr = Range("a1:a10")
        For x = 2 To UBound(arr) '从第二个开始
                temp = arr(x, 1) '记得要插入的值
            For y = x - 1 To 1 Step -1
                If arr(y, 1) <= temp Then Exit For
                arr(y + 1, 1) = arr(y, 1)
            Next y
            arr(y + 1, 1) = temp
        Next
    Range("d1").Resize(UBound(arr)) = arr
End Sub

发表评论

电子邮件地址不会被公开。 必填项已用*标注