当前所在位置:珠峰网资讯 >> 计算机 >> IT教育 >> 正文
计算机二级考试VB常用算法:排序
发布时间:2007/12/13 10:03:54 来源:xue.net 编辑:城市学习网
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  
 
调用该过程代码基本同上。 
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved