Bubble Pancakes

Este problema é similar ao anterior: você tem que ordenar as panquecas, a menor no topo e a maior embaixo, mas você só pode virar elas para ordená-las.

O objetivo aqui é ordená-los usando o algoritmo da bolha (bubble), onde uma panqueca é movida para o fundo até encontrar uma maior que ela. Em representações gráficas, parece que uma bolha ocupa o lugar do elemento e move ele através da pilha. É daí que saiu o nome do algoritmo.

Agora, usando panquecas torna as coisas um pouco mais difíceis de escrever, pois você 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 fazendo uma comparação entre duas panquecas. Cada vez que a panqueca de cima é maior que a de baixo, você tem que alterná-las, então comparar a panqueca maior que você acabou de alternar com a de baixo dela, e por aí vai. Você tem que navegar através de toda a pilha até que nenhuma troca ocorra, e neste caso, a pilha estará ordenada.

Se você não entende o algoritmo básico bubble sort, tente os exercícios da lição Algoritmos de Ordenação. Se você 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.