首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2012中考 | 2012高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 托業 | 雅思 | 專四專八 | 口譯筆譯 | 博思 GRE GMAT | 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 零起點法語 | 零起點德語 | 零起點韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師 | 秘書資格 | 心理咨詢師 | 出版專業資格 | 廣告師職業水平 | 駕駛員 網絡編輯 | 公共營養師 | 國際貨運代理人 | 保險從業資格 | 電子商務師 | 普通話 | 企業培訓師 營銷師 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 化工工程師 | 材料員 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
9.3 數組應用例題
1. 排序
例5-3 選擇排序法、直接排序法
Option Explicit
Option Base 1
Private Sub CmdSort_Click()
Dim Sort(10) As Integer, Temp As Integer
Dim I As Integer, J As Integer
Randomize
For I = 1 To 10
Sort(I) = Int(Rnd * (100 - 1)) + 1
Text1 = Text1 & Str(Sort(I))
Next I
For I = 1 To 9
For J = I + 1 To 10
If Sort(I) > Sort(J) Then
Temp = Sort(I)
Sort(I) = Sort(J)
Sort(J) = Temp
End If
Next J
Text2 = Text2 & Str(Sort(I))
Next I
Text2 = Text2 & Str(Sort(10))
End Sub
Option Explicit
Option Base 1
Private Sub CmdSort_Click()
Dim Sort(10) As Integer, Temp As Integer
Dim I As Integer, J As Integer
Dim Pointer As Integer
Randomize
For I = 1 To 10
Sort(I) = Int(Rnd * (100 - 1)) + 1
Text1 = Text1 & Str(Sort(I))
Next I
For I = 1 To 9
Pointer = I
For J = I + 1 To 10
If Sort(Pointer) > Sort(J) Then
Pointer = J
End If
Next J
If I <> Pointer Then
Temp = Sort(I)
Sort(I) = Sort(Pointer)
Sort(Pointer) = Temp
End If
Text2 = Text2 & Str(Sort(I))
Next I
Text2 = Text2 & Str(Sort(10))
End Sub
2. 查找
例:5-4 順序查找程序
先介紹For Each -next 結構的語句:
Option Explicit
Option Base 1
Dim Search As Variant
Private Sub Cmd生成數組_Click()
Dim I As Integer, Element As Variant
Search = Array(34, 12, 56, 81, 59, 83, 91, 26, 47)
For Each Element In Search'for each-next 結構語句
Text1 = Text1 & Str(Element)
Next Element
End Sub
Private Sub Cmd查找_Click()
Dim I As Integer, Find As Integer
Text2 = ""
Find = InputBox("輸入要查找的數")
For I = 1 To UBound(Search)
If Search(I) = Find Then Exit For
Next I
If I <= UBound(Search) Then
Text2 = "要查找的數" & Str(Search(I)) & "是Search(" & Str(I) & ")"
Else
Text2 = "在數列中沒有找到" & Str(Find)
End If
End Sub
例 5-5 二分查找程序:
Option Explicit
Option Base 1
Dim Search As Variant
Private Sub Cmd二分查找_Click()
Dim Left As Integer, Right As Integer
Dim Mid As Integer, Flg As Boolean
Dim Find As Integer
Find = InputBox("輸入要查找的數")
Left = 1: Right = UBound(Search)
Flg = False
Do While Left <= Right
Mid = (Left + Right) / 2
If Search(Mid) = Find Then
Flg = True
Exit Do
ElseIf Find > Search(Mid) Then
Left = Mid + 1
Else
Right = Mid - 1
End If
Loop
If Flg Then
Text2 = "要查找的數" & Str(Find) & "在Search(" & Str(Mid) & ")中"
Else
Text2 = Str(Find) & "不在數組中"
End If
End Sub
Private Sub Cmd生成數據_Click()
Dim V As Variant
Search = Array(12, 17, 23, 28, 30, 39, 41, 46, 57, 61, 78, 83, 85, 89, 93)
For Each V In Search
Text1 = Text1 & Str(V)
Next V
End Sub
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |