Sub inverte_vetor(ByRef v() As Integer, inicio As Integer, fim As Integer)

    ' Inverte os elementos do vetor, começando
    ' em p1 até p2. O inversão ALTERA o vetor

    Dim p1, p2, cont, n_swaps As Integer
     
    p1 = inicio 'inicio da inversão
    p2 = fim ' fim da inversão
    
    cont = 1
    
    n_swaps = Int((p2 - p1 + 1) / 2)
 
    Do While cont <= n_swaps
        Dim aux As Integer
        aux = v(p1)
        v(p1) = v(p2)
        v(p2) = aux
        p1 = p1 + 1
        p2 = p2 - 1
        cont = cont + 1
    Loop

End Sub