Sub Arraysortasc()
Local Al As Long ' 用于存储当前待插入元素的临时变量
Local I As Byte ' 外层循环计数器
Local J As Byte ' 内层循环计数器
Local Z As Byte ' 用于打印数组的计数器
For I = 2 To 9 ' 从第二个元素开始遍历数组
Al = Onlongs(i) ' 保存当前元素值
J = I ' 初始化内层循环计数器
' 寻找合适的插入位置
While J > 1 And Onlongs(j -1) > Al ' 当前元素比前一个元素小时
Onlongs(j) = Onlongs(j - 1) ' 将前一个元素后移
J = J - 1 ' 继续向前比较
' 打印排序过程(调试用)
For Z = 1 To 9
print Onlongs(z) ; "-" ;
Waitms 200
Next
Waitms 200 ' 等待2秒便于观察
print ' 换行
Wend
Onlongs(j) = Al ' 将当前元素插入到正确位置
Next
End Sub
Sub Arraysortdec()
' 降序排序实现,与升序类似只是比较条件相反
Local Al As Long ' 用于存储当前待插入元素的临时变量
Local I As Byte ' 外层循环计数器
Local J As Byte ' 内层循环计数器
Local Z As Byte ' 用于打印数组的计数器
For I = 1 To 9 ' 从第一个元素开始遍历数组
Al = Onlongs(i) ' 保存当前元素值
J = I ' 初始化内层循环计数器
' 寻找合适的插入位置
While J > 1 And Onlongs(j -1) < Al ' 当前元素比前一个元素大时
Onlongs(j) = Onlongs(j - 1) ' 将前一个元素后移
J = J - 1 ' 继续向前比较
' 打印排序过程(调试用)
For Z = 1 To 9
print Onlongs(z) ; "-" ;
Next
Wait 2 ' 等待2秒便于观察
print ' 换行
Wend
Onlongs(j) = Al ' 将当前元素插入到正确位置
Next
End Sub