2014-12-03 19:26 GMT+02:00 Dan Borlovan <[email protected]>: > > De exemplu, in python ar arata cam asa: > > Poate-mi scapa mie, ca nu-s prieten cu python > > Daca ai un fisier referit de mai multe ori ce faci? > > Daca ai referinta circulara ce faci? > > M-a batut la un moment dat gandul sa incerc si eu o solutie (cu perl, of course :P), dar n-am avut timp. IMO, cel mai decent e sa mentii o lista de nume de fisiere aflate la care sa atasezi un flag daca le-ai citit. (un hash de forma nume => flag, unde flag incepe prin a fi 0, de ex). Initializezi aceasta lista cu numele fisierului initial si 0.
Dupa aia, atata timp cat ai fisiere cu flagul 0 in lista, alegi unul, il setezi pe 1 si citesti din el nume de fisiere. Daca nu exista in lista, le adaugi cu flagul 0. Cand termini o iei de la inceput. Daca ai ramas fara fisiere cu flagul 0, toate alea ramase sunt fisierele pe care le-ai citit (nu mai stiu termeni fancy de teoria grafurilor, da' practic sunt toti descendentii posibili ai seed-ului original. daca graful nu e conex, sau ala seedul initial nu e convenabil ales, e posibil sa nu le vizitezi pe toate, dar astea au fost datele problemei). -- P. _______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
