[Visual Basic 6.0] 利用雙迴圈完成氣泡排序

摘要:[Visual Basic 6.0] 利用雙迴圈完成氣泡排序

[Visual Basic 6.0] 利用雙迴圈完成氣泡排序

 

 

Private Sub Form_Activate() ' 當表單載入完成後執行
Dim Inputs(1 To 5)  As Integer ' 宣告一個陣列 變數名稱為 Inputs 從 1 - 5 共 5 個位置 並轉換為 數值 Integer

For i = 1 To 5 ' 從 1 跑到 5
    Inputs(i) = InputBox("請輸入第" & i & "個數字", "輸入")
Next i

'--氣泡排序 由小排到大

For i = 1 To 5
    For j = i To 5
        If Inputs(i) > Inputs(j) Then ' 當 第 i 位 > 第 j 位
        '(由小排到大 用 > 由大排到小 用 < )
            Tag = Inputs(i) ' 先將 第 i 位 存起來
            Inputs(i) = Inputs(j) ' 將 第 i 位 取代為 第 j 位
            Inputs(j) = Tag ' 將 第 j 位 取代為 原本存起來的 Tag (第 i 位)
        End If
    Next j
Next i

For i = 1 To 5
    Print Inputs(i) ' 印出排序後的結果
Next i

End Sub

 

Private Sub Form_Activate() ' 當表單載入完成後執行
Dim Inputs(1 To 5)  As Integer ' 宣告一個陣列 變數名稱為 Inputs 從 1 - 5 共 5 個位置 並轉換為 數值 Integer

For i = 1 To 5 ' 從 1 跑到 5
    Inputs(i) = InputBox("請輸入第" & i & "個數字", "輸入")
Next i

'--氣泡排序 由大排到小

For i = 1 To 5
    For j = i To 5
        If Inputs(i) < Inputs(j) Then ' 當 第 i 位 < 第 j 位
        '(由小排到大 用 > 由大排到小 用 < )
            Tag = Inputs(i) ' 先將 第 i 位 存起來
            Inputs(i) = Inputs(j) ' 將 第 i 位 取代為 第 j 位
            Inputs(j) = Tag ' 將 第 j 位 取代為 原本存起來的 Tag (第 i 位)
        End If
    Next j
Next i

For i = 1 To 5
    Print Inputs(i) ' 印出排序後的結果
Next i

End Sub

 

#0xDe 從分享中學習

#Facebook:ProgrammerDe (https://www.facebook.com/MicrosoftDes) 有問題歡迎提問