Sobre programação, você sabia que é possível percorrer uma lista de forma circular? No sentido que se ela ta no ultimo elemento e vc vai pro próximo ela retorna pro inicio e vice-versa.
Segue um algoritimo genérico para isto na segunda msg desse post :)
