VB:求大神带飞!

如题所述

Public Function sort(ByVal a() As Integer)
        Dim temp As Integer
        For i = 1 To 10
            For j = 1 To 10 - i
                If a(j) > a(j + 1) Then
                    temp = a(j + 1)
                    a(j + 1) = a(j)
                    a(j) = temp
                End If
            Next j
        Next i
        Return 0
    End Function

追问

要求用byref啊

追答Public Function sort(ByRef a() As Integer)
        Dim temp As Integer
        For i = 1 To 10
            For j = 1 To 10 - i
                If a(j) > a(j + 1) Then
                    temp = a(j + 1)
                    a(j + 1) = a(j)
                    a(j) = temp
                End If
            Next j
        Next i
        Return 0
    End Function

追问

为什么循环都是1 to10呢😳

万一数组元素有20个😳

追答Public Function sort(ByRef a() As Integer)
        Dim temp As Integer
        Dim x As Integer
        x = UBound(a)
        For i = 1 To x
            For j = 1 To x - i
                If a(j) > a(j + 1) Then
                    temp = a(j + 1)
                    a(j + 1) = a(j)
                    a(j) = temp
                End If
            Next j
        Next i
        Return 0
    End Function

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答