中易网

vb中的冒泡排序

答案:2  悬赏:50  
解决时间 2021-04-28 22:12
  • 提问者网友:王者刀枪不入
  • 2021-04-27 23:28

    Dim i As Integer
    Dim j As Integer
    Dim t As Integer
   
    For i = LBound(a) + 1 To UBound(a)【就是这2个For语句,不知道为什么要这样
        For j = UBound(a) To i Step -1          定 义 i 和 j 】
            If a(j - 1) > a(j) Then
                t = a(j - 1)
                a(j - 1) = a(j)
                a(j) = t
            End If
        Next
最佳答案
  • 二级知识专家网友:心与口不同
  • 2021-04-28 00:10

冒泡排序法思路:(假设有10个数,需要从小到大排)


首先拿出第一个来和其他9个逐个来比较,这样就可以找到10个中最小的,放到第一位;


接着拿第二个来和其他8个逐个比较,这样就可以找到剩下9个中得最小的,放到第二位;


接着拿第三个来和其他7个逐个比较,这样就可以找到剩下8个中得最小的,放到第三位;


。。。。。。就可以了。也许下面的看了会更清楚点


Dim a(10)


Randomize
For i = 1 To 10
    a(i) = Int(Rnd * i + 3 + Rnd * 10)    '给数组赋值
 Print a(i);
Next i
Print



For i = 1 To 10   ‘
    For j = i + 1 To 10
    If a(j) < a(i) Then ’如果剩余的比a(i)小的话,就交换
    t = a(j)
    a(j) = a(i)
    a(i) = t
    End If
    Next j
Next i



For k = 1 To 10
    Print a(k);   ‘打印排好的数
Next k
Print

全部回答
  • 1楼网友:茫然不知崩溃
  • 2021-04-28 00:39

a是数组啊,就是要排序的那些参数LBound(a) 和 UBound(a)分别取出数组的上下标,这样可以根据上下标来确定数组中某个参数的值,就是第几个的意思

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息