Hola que tal.
El problema que tienes es que tienes una condición en la cual verificas si es el final del camino o no, en caso de que no se final de camino, continuas buscando, y si has llegado al final, sólo imprimes resultados, lo que debes hacer es despues de imprimer resultados volver a llamar a buscar camino, con tu posición no visitada, y eso es todo.
Hasta luego.