Agora é a hora de escrever a segunda função necessária para o problema de
Hanoi Tricolor. gather()
constrói uma pilha intercalada a
partir de pilhas "split". Esta função recebe quatro argumentos, o último a
ser a vara de destino onde a pilha intercalada deve ser montada. Como pode
ver nos exemplos, as cores devem estar na mesma ordem para cada trio de
discos.
Esta função, na verdade, usa o move3()
que escreveu agora a
pouco. Simplesmente copie-e-cole o seu código e reuse-o. Se estiver perdido,
favor olhe o exercício Hanoi Intercalada. Obter 3 pilhas em 3 varas é muito
similar a obter 2 pilhas em 4 varas. Pode encontrar este exercício aqui.