Un buon metodo è la ricorsione.
Ci sono molti argomenti simili a questo nel forum, prova a fare una ricerca.