本期我們講解冒泡排序法,使用VB語言。
本期案例:
我們的原始數是一個數組a
這個a數組的資料依次是:5 2 8 6
現要将a中的資料進行排序:從小到大
達成目标:2 5 6 8
設計界面
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2Pn5Gcuwme6RnZ1QnY3d2LcNTNykjN4YzLcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
點選按鈕後的效果
兩個資料的比較思想是怎樣的?
将思想轉換為代碼。
比較的時候,其實就是使用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
複制
相關文章:
- VB語言基礎重要知識點01
- VB語言基礎重要知識點02
- VB語言基礎重要知識點03
- VB語言基礎重要知識點04
- VB語言基礎重要知識點05
- VB語言基礎重要知識點06
- VB語言基礎重要知識點07
- VB語言基礎重要知識點08
- VB語言基礎重要知識點09
- VB語言基礎重要知識點10
- VB語言基礎重要知識點11
- VB語言基礎重要知識點12
- VB語言基礎重要知識點13
- VB語言基礎重要知識點14
- VB語言基礎重要知識點15
- VB語言基礎重要知識點16
- VB語言基礎重要知識點17
- VB語言基礎重要知識點18