close



程式碼:
Dim a(10), b, i, k As Integer
Private Sub Command1_Click()
Cls
Print "原始資料 : ";
For i = 1 To 10
a(i) = Int(Rnd * 100) + 1
Print Format(a(i), " 00 ");
Next i
End Sub
__________________________________________________________
Private Sub Command2_Click()
k = Val(InputBox("請輸入待搜尋資料 --- "))
b = 0
Print: Print
Print "循序搜尋 == "
For i = 1 To 10
If k = a(i) Then
Print "共搜尋了" & i & "次," & k; "在亂數數列中的第 " & i & " "
b = 1
Exit For
End If
Next i
If b = 0 Then Print "找不到 " & k
End Sub
__________________________________________________________
Private Sub Command3_Click()
Dim l, h, j, t, m, tmp As Integer
Rem === 進行排序 ===
For i = 1 To 9
For j = i + 1 To 10
If a(i) > a(j) Then tmp = a(i): a(i) = a(j): a(j) = tmp
Next j
Next i
Print: Print
Print "排序後數列 ";
For i = 1 To 10
Print a(i);
Next i
Rem === 進行二分搜尋 ===
k = Val(InputBox("請輸入待搜尋資料 --- "))
Print: Print
Print "二分搜尋 == "
l = 1: h = 10: t = 0
Do While l <= h
m = Int((l + h) / 2): t = t + 1
If k = a(m) Then
Print "一共找了 " & t & " 次," & k; "在排序後的第" & m & ""
Exit Do
End If
If k < a(m) Then h = m - 1 Else l = m + 1
Loop
If k <> a(m) Then Print "找不到 " & k
End Sub
arrow
arrow
    全站熱搜

    愛爾 發表在 痞客邦 留言(11) 人氣()