lista4.md 606 B

1. Escreva uma função que recebe um vetor com n letras A’s e B’s e, por meio de trocas, move todos os A’s para o início do vetor. Sua função deve consumir tempo $O(n)$.

A função vai receber o vetor C que possi n elementos.

OrdenaAB(C, N)
    dir $\leftarrow$ 1
    esq $\leftarrow$ n
    enquanto dir < esq
        se C[dir] igual 'A'
            dir $\leftarrow$ dir + 1
        senão se C[esq] igual 'B'
            esq $\leftarrow$ esq + 1
        senão
            C[esq] $\leftrightarrow$ C[dir]
            dir $\leftarrow$ dir + 1
            esq $\leftarrow$ esq + 1