紧急求助VB高手~~谢谢!!

来源:百度知道 编辑:UC知道 时间:2024/06/02 17:20:50
请用VB编一个程序:
输入10名学生的成绩,并由低到高排序(使用Sub程序来编)···另外,能不能再帮忙编一个由高到低排序的?其他条件和上题一致~~感激ING

(一)选择排序法(降序为例)
Private Sub rank(n As Integer, a() As Long)
For i = 1 To n - 1
For j = i + 1 To n
If a(j) > a(i) Then t = a(i): a(i) = a(j): a(j) = t
Next j
Next i
End Sub
优化后的程序:
Private Sub rank(n As Integer, a() As Long)
For i = 1 To n - 1
tmax = i
For j = i + 1 To n
If a(j) > a(tmax) Then tmax = j
Next j
If tmax <> i Then t = a(i): a(i) = a(tmax): a(tmax) = t
Next i
End Sub

(二)冒泡排序法(升序为例)
Private Sub rank(n As Integer, a() As Long)
For i = 1 To n - 1
For j = n To i + 1 Step -1
If a(j - 1) > a(j) Then
t = a(j - 1): a(j - 1) = a(j): a(j) = t
End If
Next j
Next i
End Sub
优化后的程序:
Private Sub rank(n As Integer, a() As Long)
For i = 1 To n - 1
flag = 0
For j = n To i + 1 Step -1
If a(j - 1) > a(j) Then
t = a(j - 1): a(j - 1) = a(j): a(j) = t: flag = 1
End If
Next j
If flag