'Text1()为分数文本框数组,TxtRank()为名次文本框数组
'若要改进效率只需用相应算法替换Sort方法即可。
Private Type DataType
Data As Long
Index As Long
End Type
Private Scores() As DataType
Private Sub Sort()
Dim i As Long, j As Long, t As DataType
For i = LBound(Scores) To UBound(Scores) - 1
For j = i + 1 To UBound(Scores)
If Scores(i).Data < Scores(j).Data Then
t = Scores(i): Scores(i) = Scores(j): Scores(j) = t
End If
Next j
Next i
End Sub
Private Sub Command1_Click()
ReDim Scores(0 To 7)
Dim i As Integer
For i = 0 To 7
Scores(i).Index = i
Scores(i).Data = CLng(Val(Text1(i).Text))
Next i
Call Sort
For i = 0 To 7
TxtRank(Scores(i).Index).Text = CStr(i + 1)
Next i
End Sub