天天看點

VB語言基礎重要知識點21(冒泡排序法)

本期我們講解冒泡排序法,使用VB語言。

本期案例:

我們的原始數是一個數組a

這個a數組的資料依次是:5 2 8 6

現要将a中的資料進行排序:從小到大

達成目标:2 5 6 8

設計界面

VB語言基礎重要知識點21(冒泡排序法)

點選按鈕後的效果

VB語言基礎重要知識點21(冒泡排序法)

兩個資料的比較思想是怎樣的?

VB語言基礎重要知識點21(冒泡排序法)

将思想轉換為代碼。

比較的時候,其實就是使用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 iEnd Sub           

複制

相關文章:

  1. VB語言基礎重要知識點01
  2. VB語言基礎重要知識點02
  3. VB語言基礎重要知識點03
  4. VB語言基礎重要知識點04
  5. VB語言基礎重要知識點05
  6. VB語言基礎重要知識點06
  7. VB語言基礎重要知識點07
  8. VB語言基礎重要知識點08
  9. VB語言基礎重要知識點09
  10. VB語言基礎重要知識點10
  11. VB語言基礎重要知識點11
  12. VB語言基礎重要知識點12
  13. VB語言基礎重要知識點13
  14. VB語言基礎重要知識點14
  15. VB語言基礎重要知識點15
  16. VB語言基礎重要知識點16
  17. VB語言基礎重要知識點17
  18. VB語言基礎重要知識點18