Sub Arraysortasc()
Local Al As Long ' 用于存儲(chǔ)當(dāng)前待插入元素的臨時(shí)變量
Local I As Byte ' 外層循環(huán)計(jì)數(shù)器
Local J As Byte ' 內(nèi)層循環(huán)計(jì)數(shù)器
Local Z As Byte ' 用于打印數(shù)組的計(jì)數(shù)器
For I = 2 To 9 ' 從第二個(gè)元素開始遍歷數(shù)組
Al = Onlongs(i) ' 保存當(dāng)前元素值
J = I ' 初始化內(nèi)層循環(huán)計(jì)數(shù)器
' 尋找合適的插入位置
While J > 1 And Onlongs(j -1) > Al ' 當(dāng)前元素比前一個(gè)元素小時(shí)
Onlongs(j) = Onlongs(j - 1) ' 將前一個(gè)元素后移
J = J - 1 ' 繼續(xù)向前比較
' 打印排序過程(調(diào)試用)
For Z = 1 To 9
print Onlongs(z) ; "-" ;
Waitms 200
Next
Waitms 200 ' 等待2秒便于觀察
print ' 換行
Wend
Onlongs(j) = Al ' 將當(dāng)前元素插入到正確位置
Next
End Sub
Sub Arraysortdec()
' 降序排序?qū)崿F(xiàn),與升序類似只是比較條件相反
Local Al As Long ' 用于存儲(chǔ)當(dāng)前待插入元素的臨時(shí)變量
Local I As Byte ' 外層循環(huán)計(jì)數(shù)器
Local J As Byte ' 內(nèi)層循環(huán)計(jì)數(shù)器
Local Z As Byte ' 用于打印數(shù)組的計(jì)數(shù)器
For I = 1 To 9 ' 從第一個(gè)元素開始遍歷數(shù)組
Al = Onlongs(i) ' 保存當(dāng)前元素值
J = I ' 初始化內(nèi)層循環(huán)計(jì)數(shù)器
' 尋找合適的插入位置
While J > 1 And Onlongs(j -1) < Al ' 當(dāng)前元素比前一個(gè)元素大時(shí)
Onlongs(j) = Onlongs(j - 1) ' 將前一個(gè)元素后移
J = J - 1 ' 繼續(xù)向前比較
' 打印排序過程(調(diào)試用)
For Z = 1 To 9
print Onlongs(z) ; "-" ;
Next
Wait 2 ' 等待2秒便于觀察
print ' 換行
Wend
Onlongs(j) = Al ' 將當(dāng)前元素插入到正確位置
Next
End Sub