VB冒泡排序

  • A+
所属分类:编程茶楼

前言

首先,感谢我的忠实读者:FRANK

其次,我将开始九个月的高考复习,网站将进行停更或缓更,亲爱的读者们,感谢你们的不离不弃

最后,这个方法不止在VB很受欢迎,在python,JavaScript等语言中也是很受欢迎的一种数据排列方法。

冒泡原理

VB冒泡排序
来源于菜鸟教程

算法步骤

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

代码实现

Dim a(1 To 10) As Integer  '创建一个1到10的数组
' 生成随机数并填充数组 a
For i = 1 To 10   ' 循环 10 次,生成 10 个随机数
    Randomize   ' 初始化随机数生成器
    a(i) = Int(Rnd * 90) + 10   ' 生成一个 10 到 99 之间的随机整数并赋值给数组元素 a(i)
    
    ' 将生成的随机数添加到 Text1.Text 中
    Text1.Text = Text1.Text & a(i) & " "
    
    ' 每生成 5 个随机数,换行显示
    If i Mod 5 = 0 Then
        Text1.Text = Text1.Text & a(i) & vbCrLf
    End If
Next i
' 使用冒泡排序算法对数组 a(1 To 10) 进行排序
For i = 1 To 9   ' 外循环,控制排序的轮数
    For j = 1 To 10 - i   ' 内循环,控制每一轮的比较次数
        If a(j + 1) > a(j) Then   ' 如果后一个元素大于前一个元素,进行交换
            t = a(j + 1)
            a(j + 1) = a(j)
            a(j) = t
        End If
    Next j
Next i

' 输出排序后的结果
For i = 1 To 10
    Text2.Text = Text2.Text & a(i) & " "
Next i
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: