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.