Dzień dobry, mam za zadanie napisać w języku C program dokonujący sortowania topologicznego grafu skierowanego reprezentowanego za pomocą list sąsiedztwa przy pomocy kolejki (NIE DFS).
Na chwilę obecną wiem, że:
1. listy są jednokierunkowe, potrzebna jest tablica list, o rozmiarze rownym liczbie wierzcholkow, a liczbe te poda uzytkownik.
2. jesli graf ma 0 lub 1 wierzcholkow wypisuje komunikat i koncze program. W while zrobilem wczytywanie liczby wierzcholkow tak dlugo az bedzie nieujemna, w razie gdyby uzytkownik podal liczbe ujemna.
3 potem w petli for pytam uzytkownika czy istnieje krawedz z wierzcholka j-tego do i-tego i jesli poda ze nie to nic nie robie a jesli poda ze tak, to do j-tej listy sasiedztwa wstawiam na koniec numer i-tego weirszcholka jako element (mam w liscie pole int element), tak?
4. Juz to co powyzej jest dla mnie trudne, a dalej musze jakos usuwac kolejno te twierzcholki i wstawiac do kolejki .......Szczerze mowiac nie rozumiem do konca dzialania tych list nawet bo mielismy na wykladzie cwiczeniach i w skrypcie przy implementacji listy takze wskaznik do struktury listy i podprogramy wstawiania czy usuwania sa z tą wskaznikowa lista a nie normalna nie wiem czemu i jak to zrobic zeby to dzialalo z moja lista.
No i jak modyfikowac te listy po usunieciu wierzcholka to jest dramat. no i przeciez pierwszym elementem kazdej listy jest j-ty wierzcholek ahh nawet juz nie wiem co jeszcze pisac moze wystarczy
↧
Sortowanie topologiczne grafu skierowanego przy pomocy kolejki
↧