开发者社区> 问答> 正文

VB里冒泡排序法是怎么回事?麻烦举一个典型例子

VB里冒泡排序法是怎么回事?麻烦举一个典型例子

展开
收起
知与谁同 2018-07-15 19:17:11 1347 0
3 条回答
写回答
取消 提交回答
  • 首先,你了解冒泡排序的机制,每个元素后面的元素比较,如果不到的背后,交换位置
    在Private Sub SortIntegerArray(paintArray的()作为整数)
    昏暗的lngX,只要
    点心,只要
    昏暗的intTemp作为整数
    对于lngX = LBOUND(paintArray)(UBOUND(paintArray)的 - 1)
    ,对于lngY = LBOUND(paintArray)(UBOUND lngY (paintArray) - 1)
    如果paintArray(lngY)> paintArray(lngY + 1),然后
    intTemp = paintArray(lngY)
    paintArray(lngY)= paintArray(lngY + 1) /> paintArray(lngY + 1)= intTemp

    如果

    下一页

    END SUB
    2019-07-17 22:50:53
    赞同 展开评论 打赏
  • 胜天半子
    5,3,4
    -------

    3,5,4
    3,4,5

    =====

    5,3,4
    -------

    5,3,4
    5,4,3
    2019-07-17 22:50:53
    赞同 展开评论 打赏
  • 就是比较数值,把大的或小的放在前面
    比如,有一个数组a()包含{5,7,3,9,12,15,56}7个数
    dim t as integer
    for i=0 to a.count-1
    for j=i+1 to a.count-1
    t=a(i)
    if a(i)<a(j) then
    a(i)=a(j)
    a(j)=t
    next
    next
    这时比较排序法
    下面是冒泡排序
    Private Sub Form_Load()

      Dim a,c As Variant

      Dim i As Integer,j As Integer,temp As Integer,bSwap As Boolean

      a = Array(17,45,12,80,50)

      For j = 0 To UBound(a) - 1

      bSwap = False

      For i = 0 To UBound(a) - 1

      If (a(i) > a(i + 1)) Then '若是递减,改为a(i)<a(i+1)

      temp = a(i)

      a(i) = a(i + 1)

      a(i + 1) = temp

      bSwap = True

      End If

      Next

      If bSwap = False Then

      Exit For

      End If

      Next

      For Each c In a

      Debug.Print c;

      Next

      End Sub
    2019-07-17 22:50:53
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
Python第五讲——关于爬虫如何做js逆向的思路 立即下载
低代码开发师(初级)实战教程 立即下载