• Utilize qualquer um dos algoritmos estudados para ordenar um vetor de strings. Os alunos devem implementar a comparação entre strings e observar como o algoritmo se comporta com esse tipo de dado.

Passo 1

Beleza, vamos lá! O exercício pede para a gente usar um dos algoritmos que estudamos pra ordenar um vetor de strings. Então, vamos precisar falar sobre algoritmos de ordenação, como comparar strings e ver como o algoritmo escolhido se comporta com esse tipo de dado. Vou escolher o Bubble Sort pra resolver isso, porque ele é simples de entender e implementar.

Passo 2

Primeiro, vamos entender como comparar duas strings. A ideia é comparar letra por letra, da esquerda para a direita, baseado na ordem alfabética. Por exemplo, “banana” vem antes de “maçã” porque ‘b’ vem antes de ‘m’.

Passo 3

Agora, vamos lembrar como funciona o Bubble Sort. Esse algoritmo percorre o vetor várias vezes, e em cada passagem ele compara pares de elementos adjacentes. Se estiverem na ordem errada, ele troca eles. Isso se repete até que todo o vetor esteja ordenado.

Passo 4

Vamos implementar o Bubble Sort para um vetor de strings. A gente vai precisar de um loop para as passagens e outro loop interno para comparar e trocar as strings se necessário.

Passo 5

No código, vamos usar a função de comparação de strings do Python, que já faz a comparação lexicográfica automaticamente. Mas, para entender melhor, vou mostrar como a comparação funciona.

Passo 6

Vamos testar nosso algoritmo com um exemplo de vetor de strings para ver se ele ordena certinho.

Resposta

def bubble_sort_strings(vetor):
    n = len(vetor)
    for i in range(n):
        # Flag para verificar se houve troca na passagem
        trocou = False
        for j in range(0, n-i-1):
            if vetor[j] > vetor[j+1]:
                # Troca as strings de posição
                vetor[j], vetor[j+1] = vetor[j+1], vetor[j]
                trocou = True
        # Se não houve troca, o vetor já está ordenado
        if not trocou:
            break
    return vetor

# Exemplo de uso
vetor_de_strings = ["maçã", "banana", "laranja", "abacaxi", "kiwi"]
vetor_ordenado = bubble_sort_strings(vetor_de_strings)
print("Vetor Ordenado:", vetor_ordenado)
Saída:
Vetor Ordenado: ['abacaxi', 'banana', 'kiwi', 'laranja', 'maçã']

Exercícios relacionados