首页 > 教育 > 计算机二级考试VB常用算法:排序
计算机二级考试VB常用算法:排序
网上收集 2007/12/13 10:03:54 (759)
2)        冒泡法排序
选择排序法在每一轮排序时找最值元素的下标,出了内循环(一轮排序结束),再交换最小数的位置;而冒泡法在每一轮排序时将相邻的数比较,当次序不对就交换位置,出了内循环,最值数已经冒出。
譬如:
8       6       9       3       2       7
8  6  9  3  2  7
8  6  9  2  3  7
8  6  2  9  3  7
8  2  6  9  3  7
2  8  6  9  3  7
                                    ….
                                   2  3  8  6  9  7
                                   ….
                                   2  3  6  8  7  9
                                   ….
                                   2  3  6  7  8  9
….
2  3  6  7  8  9 
 
程序代码如下: 
Private Sub mpPaiXu(a() As Double, sheng As Boolean)
    'a为需要排序的数组,sheng为True则为升序排列,为False,则为降序排列。
    Dim i As Integer, j As Integer
    Dim temp As Double
    Dim m As Integer
    For i = LBound(a) To UBound(a) - 1     '进行n-1轮比较
       
        For j = UBound(a) To i + 1 Step -1 '从n到i个元素两两进行比较
                                          
            If sheng Then                  '若次序不对,马上进行交换
                                          
                If a(j) < a(j - 1) Then
                    temp = a(j)
                    a(j) = a(j - 1)
                    a(j - 1) = temp
                End If
            Else
                If a(j) > a(j - 1) Then
                    temp = a(j)
                    a(j) = a(j - 1)
                    a(j - 1) = temp
                End If
            End If
        Next j                             '出了内循环,一轮排序结束
                                           '最值元素冒到最上边
    Next i
End Sub  
 
调用该过程代码基本同上。 
阅读(759) (责任编辑:城市网)
关于我们 - 联系我们 - 网站荣誉 - 广告服务 - 版权声明 - 网站地图
Copyright© 2007-2018 bj1.com.cn 首都热线 版权所有 QQ:165687462
中国·北京 粤ICP备14047004号-20