Escreva uma função que leia uma linha e inverta as palavras na linha (não os caracteres) utilizando uma pilha. Por exemplo, dada a seguinte entrada:
Um pequeno jabuti xereta viu dez cegonhas felizes.
você deve obter a seguinte saída:
felizes. cegonhas dez viu xereta jabuti pequeno Um
Um pequeno jabuti xereta viu dez cegonhas felizes.
você deve obter a seguinte saída:
felizes. cegonhas dez viu xereta jabuti pequeno Um
Passo 1
Vamos resolver um exercício de programação onde precisamos inverter a ordem das palavras em uma frase usando uma pilha. O conteúdo principal aqui envolve estruturas de dados, especificamente pilhas, e manipulação de strings. Para resolver isso, vamos precisar entender como uma pilha funciona e como podemos utilizá-la para armazenar e inverter as palavras de uma frase.
Passo 2
Primeiro, vamos entender o que é uma pilha. Uma pilha é uma estrutura de dados que segue o princípio LIFO (Last In, First Out), ou seja, o último elemento inserido é o primeiro a ser removido. Imagine uma pilha de pratos: você coloca um prato no topo e também retira do topo.
Passo 3
Agora, a ideia é ler a linha de entrada e separar as palavras. Para isso, podemos usar uma função que divide a string com base nos espaços, obtendo assim uma lista de palavras.
Passo 4
Em seguida, vamos usar a pilha para armazenar essas palavras. Vamos empilhar cada palavra na pilha. Como a pilha segue o princípio LIFO, a última palavra inserida será a primeira a ser removida.
Passo 5
Depois de empilhar todas as palavras, vamos desempilhá-las uma a uma e concatená-las para formar a frase invertida. Isso nos dará as palavras na ordem inversa da original.
Passo 6
Por fim, retornamos a nova frase com as palavras invertidas.
Resposta
A função que inverte as palavras na linha utilizando uma pilha retorna:
felizes. cegonhas dez viu xereta jabuti pequeno Um