小编给大家分享一下VB语言中如何实现冒泡排序法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
本期案例:
我们的原始数是一个数组a
这个a数组的数据依次是:5 2 8 6
现要将a中的数据进行排序:从小到大
达成目标:2 5 6 8
设计界面
点击按钮后的效果
两个数据的比较思想是怎样的?
将思想转换为代码。
比较的时候,其实就是使用if语句的时候。
text1中的文本是5
text2中的文本是2
如何比较,取出小的那个值?
if val(text1.text)>val(text2.text) then
print text2.text ’这里是小的值
else
print text1.text '这里是大的值
end if
本例冒泡排序的思想讲解:
冒泡排序,我们这里的排序是按照从小到大排序。
原始 5 2 8 6 在a这个数组中的。
实际就是:
a(0)=5
a(1)=2
a(2)=8
a(3)=6
小思想:先要找到最小的数字,然后,找到第二小,逐渐一个个找出来。
比较过程如下:
第一趟:找到最小的数字
基准:以第一个数字作为基准。假设第一个数字是最小值,去跟后面所有的数进行比较。
第一轮:2 5 8 6
第二轮:2 5 8 6
第三轮:2 5 8 6
第一趟的结果:2 5 8 6
第二趟:找出第二小的数字
基准:以第二个数字作为基础。
第一轮:2 5 8 6
第二轮:2 5 8 6
第二趟结果:2 5 8 6
第三趟:找出第三小的数字
基准:以第三个数字作为基准。
第一轮:2 5 6 8
下面将思想转为代码:
'开始趟数
for i=0 to 2 step 1
’开始轮数
for j=1 to 3-i step 1
if a(i)>a(j+i) then '实现交互
t=a(i)
a(i)=a(j+i)
a(j+i)=t
end if
next j
next i
源代码如下:
Option Explicit
Dim a(3) As Integer
Private Sub Command1_Click()
a(0) = 5
a(1) = 2
a(2) = 8
a(3) = 6
Dim i%, j%, t%
'开始趟数
For i = 0 To 2 Step 1
'开始轮数
For j = 1 To 3 - i Step 1
If a(i) > a(j + i) Then '实现交互
t = a(i)
a(i) = a(j + i)
a(j + i) = t
End If
Next j
Next i
For i = 0 To 3 Step 1
Print a(i)
Next i
End Sub
以上是“VB语言中如何实现冒泡排序法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。