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)分别取出数组的上下标,这样可以根据上下标来确定数组中某个参数的值,就是第几个的意思
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯