小編給大家分享一下VB語(yǔ)言中如何實(shí)現(xiàn)冒泡排序法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)專注于寧洱網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供寧洱營(yíng)銷型網(wǎng)站建設(shè),寧洱網(wǎng)站制作、寧洱網(wǎng)頁(yè)設(shè)計(jì)、寧洱網(wǎng)站官網(wǎng)定制、微信平臺(tái)小程序開(kāi)發(fā)服務(wù),打造寧洱網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供寧洱網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
本期案例:
我們的原始數(shù)是一個(gè)數(shù)組a
這個(gè)a數(shù)組的數(shù)據(jù)依次是:5 2 8 6
現(xiàn)要將a中的數(shù)據(jù)進(jìn)行排序:從小到大
達(dá)成目標(biāo):2 5 6 8
設(shè)計(jì)界面
點(diǎn)擊按鈕后的效果
兩個(gè)數(shù)據(jù)的比較思想是怎樣的?
將思想轉(zhuǎn)換為代碼。
比較的時(shí)候,其實(shí)就是使用if語(yǔ)句的時(shí)候。
text1中的文本是5
text2中的文本是2
如何比較,取出小的那個(gè)值?
if val(text1.text)>val(text2.text) then
print text2.text ’這里是小的值
else
print text1.text '這里是大的值
end if
本例冒泡排序的思想講解:
冒泡排序,我們這里的排序是按照從小到大排序。
原始 5 2 8 6 在a這個(gè)數(shù)組中的。
實(shí)際就是:
a(0)=5
a(1)=2
a(2)=8
a(3)=6
小思想:先要找到最小的數(shù)字,然后,找到第二小,逐漸一個(gè)個(gè)找出來(lái)。
比較過(guò)程如下:
第一趟:找到最小的數(shù)字
基準(zhǔn):以第一個(gè)數(shù)字作為基準(zhǔn)。假設(shè)第一個(gè)數(shù)字是最小值,去跟后面所有的數(shù)進(jìn)行比較。
第一輪:2 5 8 6
第二輪:2 5 8 6
第三輪:2 5 8 6
第一趟的結(jié)果:2 5 8 6
第二趟:找出第二小的數(shù)字
基準(zhǔn):以第二個(gè)數(shù)字作為基礎(chǔ)。
第一輪:2 5 8 6
第二輪:2 5 8 6
第二趟結(jié)果:2 5 8 6
第三趟:找出第三小的數(shù)字
基準(zhǔn):以第三個(gè)數(shù)字作為基準(zhǔn)。
第一輪:2 5 6 8
下面將思想轉(zhuǎn)為代碼:
'開(kāi)始趟數(shù)
for i=0 to 2 step 1
’開(kāi)始輪數(shù)
for j=1 to 3-i step 1
if a(i)>a(j+i) then '實(shí)現(xiàn)交互
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%
'開(kāi)始趟數(shù)
For i = 0 To 2 Step 1
'開(kāi)始輪數(shù)
For j = 1 To 3 - i Step 1
If a(i) > a(j + i) Then '實(shí)現(xiàn)交互
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語(yǔ)言中如何實(shí)現(xiàn)冒泡排序法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!