Access冒泡排序示例-欧志华
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


Access冒泡排序示例

发表时间:2022/10/28 8:03:28 评论(0) 浏览(1941)  评论 | 加入收藏 | 复制
   
摘 要:冒泡排序。
正 文:

      冒泡排序(Bubble Sort)就是依次比较相邻两个元素,将小数放在前面,大数放在后面。即数列中的第1个元素与第2个元素进行比较,将小数放前,大数放后,然后比较第2个元素和第3个元素,将小数放前,大数放后,如此继续,直至比较最后两个数。这样经过第一次排序之后,此时数列中最大的数将被排在最后的位置(即所谓的沉底)。然后进行第二次排序,比较第1个元素和第2个元素,将小数放前,大数放后,然后比较第2个元素和第3个元素,将小数放前,大数放后。如此继续,直至比较到最后一个数的前边两个相邻的数,第二次排序结束,此时在倒数第二个元素的位置上得到了数列中第二大的数。如此下去,直至最终完成排序。


代码如下:

Private Sub Command5_Click()
    Dim i As Integer
    Dim j As Integer
    Dim arr() As String     '定义数组
    Dim t As Integer        '用于展示数组元素
    Dim tmp As String       '调整数组元素位置临时容器
  
    arr() = Split(Me.Text0, ",")
    Me.Text2 = ""
    Me.Text2 = Me.Text2 & "[初始数组元素]: "
    For t = 0 To UBound(arr)
        Me.Text2 = Me.Text2 & arr(t) & " "
    Next t
    Me.Text2 = Me.Text2 & vbCrLf & vbCrLf
    
    For i = 0 To UBound(arr) - 1
        For j = 0 To UBound(arr) - i - 1
            '如果前一位的数值大于后一位的数值
            '条件成立, 则前后数字对调位置
            If Val(arr(j)) > Val(arr(j + 1)) Then
                tmp = arr(j)    '把前一位数值赋值tmp变量
                arr(j) = arr(j + 1)
                arr(j + 1) = tmp
            End If
        Next j
        '显示第几次排序结果
        Me.Text2 = Me.Text2 & i + 1 & "次排序结果:  "
        For t = 0 To UBound(arr)
            Me.Text2 = Me.Text2 & arr(t) & " "
        Next t
        Me.Text2 = Me.Text2 & vbCrLf
    Next i
End Sub


示   例:

点击下载此附件


图   示:

点击图片查看大图


Access软件网交流QQ群(群号:198465573)
 
 相关文章
[access报表]如何使用 VisualBasic 代码来排序和...  【umvsoft整理  2008/8/20】
【Access源码】分组自动编号\筛选数据后自动分组编号的示例\分...  【麥田  2011/7/26】
vb数组排序-冒泡排序法  【风行  2012/5/27】
Access数组冒泡排序法  【纵云梯  2012/8/10】
用Access实现对一组字符串进行排序  【李志能  2020/10/1】
通过代码给子窗体赋值数据源设定降序排序的方法学习  【青源  2022/2/17】
【Access文本型日期月份升序排序问题】文本型月份升序排序技巧分...  【麥田  2022/9/19】
Access快速排序算法  【欧志华  2022/10/31】
Access选择排序算法  【欧志华  2022/11/1】
Access希尔排序算法  【欧志华  2022/11/2】
常见问答
技术分类
相关资源
文章搜索
关于作者

欧志华

文章分类

文章存档

友情链接