Bubble Pancakes
Este problema é similar ao anterior: tem que ordenar as panquecas, a menor
no topo e a maior embaixo, mas só pode virar-las para ordená-las.
O objetivo aqui é ordená-los a usar o algoritmo da bolha (bubble), onde uma
panqueca é movida ao fundo até encontrar uma maior que ela. Em
representações gráficas, parece que uma bolha ocupa o lugar do elemento e
move-o através da pilha. É daí que saiu o nome do algoritmo.
Agora, a usar panquecas torna as coisas um pouco mais difíceis de escrever,
pois tem que encontrar uma forma de alternar apenas duas panquecas por vez.
O Algoritmo da bolha consiste em navegar a pilha completa de cima para baixo
e a fazer uma comparação entre duas panquecas. Cada vez que a panqueca de
cima é maior que a de baixo, tem que alterná-las, então comparar a panqueca
maior que acabou de alternar com a de baixo dela e por aí vai. Tem que
navegar através de toda a pilha até que nenhuma troca ocorra e neste caso, a
pilha estará ordenada.
Se não entende o algoritmo básico bubble sort, tente os exercícios da lição
Algoritmos de Ordenação. Se consegue, mas não imagina uma forma de alternar
apenas duas panquecas por vez, pense na situação onde apenas duas panquecas
são alternadas por vez e encontre uma forma de chegar nesta situação.