Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int DFS(stos *S1, drzewo *D1) // Depth-First Search - Przeszukiwanie w głąb
- {
- drzewo pomocniczeD = (*D1);
- DodawanieDoStosu(&(*S1), &(*D1));
- fprintf(stdout, "%d ", (pomocniczeD->kluczD));
- (*D1)->czyOdwiedzony = 0;
- while ((*S1) != 0)
- {
- while (((pomocniczeD->lewy) != 0) && ((pomocniczeD->lewy->czyOdwiedzony) != 0))
- {
- DodawanieDoStosu(&(*S1), &pomocniczeD->lewy);
- if (pomocniczeD->lewy->czyOdwiedzony != 0)
- fprintf(stdout, "%d ", (pomocniczeD->lewy->kluczD));
- pomocniczeD->lewy->czyOdwiedzony = 0;
- pomocniczeD = pomocniczeD->lewy;
- }
- while ((pomocniczeD->prawy) == 0)
- {
- UsuwanieZPoczątku(&(*S1));
- pomocniczeD = (*S1)->kluczS;
- }
- if ((pomocniczeD->prawy->czyOdwiedzony) == 0)
- {
- UsuwanieZPoczątku(&(*S1));
- if ((*S1) != 0)
- pomocniczeD = (*S1)->kluczS;
- else if ((*S1) == 0)
- return 0;
- }
- else
- {
- DodawanieDoStosu(&(*S1), &pomocniczeD->prawy);
- if (pomocniczeD->prawy->czyOdwiedzony != 0)
- fprintf(stdout, "%d ", (pomocniczeD->prawy->kluczD));
- pomocniczeD->prawy->czyOdwiedzony = 0;
- pomocniczeD = pomocniczeD->prawy;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement