W Twojej sytuacji, szukanie gotowego kodu jest najgorszym z możliwych rozwiązań. Weź kartkę papieru i ołówek, narysuj sobie dowolny graf i spróbuj samodzielnie dojść do (bądź co bądź - trywialnego) algorytmu. Jeśli nie dajesz rady, poszukaj w sieci algorytmu. Podkreślam - algorytmu, a nie gotowego kodu. Gotowy kod będzie dla Ciebie jeszcze bardziej zawiły niż algorytm zapisany w postaci listy kroków, bo zawiera dokładną, szczegółową implementację dla konkretnej reprezentacji grafu, a nie ogólny zamysł.
Bardziej w temacie: odnajdywanie cykli w grafie to przejście po nim i zaznaczanie odwiedzanych wierzchołków. W momencie, gdy podczas przechodzenia napotkamy już wcześniej odwiedzony wierzchołek, wiemy, że znajduje się on na cyklu. Aby odtworzyć ścieżkę cyklu, wystarczy cofnąć się do momentu, gdy po raz pierwszy odwiedziliśmy ów podwójnie odwiedzony wierzchołek