您好,登錄后才能下訂單哦!
小編給大家分享一下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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。