魔法少女触手漫画:每天一小练-VBA实现排序[冒泡算法]

来源:百度文库 编辑:中财网 时间:2024/04/29 19:03:04
虽然1点了,还是坚持一下,没有压力的生活,就是没有动力的生活。相信自己,就得拿出点毅力来。

先来点代码:
冒泡算法
Sub BubbleSort(list() As Long)

    Dim First As Integer, Last As Long
    Dim i As Long, j As Long
    Dim Temp
   
    First = LBound(list)
    Last = UBound(list)
    For i = First To Last - 1
        For j = i + 1 To Last
            If list(i) > list(j) Then
                Temp = list(j)
                list(j) = list(i)
                list(i) = Temp
            End If
        Next j
    Next i
End Sub

冒泡算法,是最经常用到的,最古老的一种算法。就是依次去把每一个数值与所有的数值做比较,大的排前面,小的放后面,或是小的放前面,大的放后面。这就像鱼缸里的气泡一样一个一样从小到大冒上来,所以称为冒泡法算法。
下图清楚的表示了6个数是如何完成这个过程的:



这里用了5个过程。第一步用第二个参数与第一个对比,如发现大小差异则交换位置。第二步用第三个与第一个,第二个比较,第三步以此类推。。
在这里有两个函数要注意的,一个是 LBound,另一个不用说也知道了,UBound。一个是指出集合的第一个位置,另一个是指出最后一个位置。像火车头与尾一样。