lista struktur
Ostatnio zmodyfikowano 2015-03-22 21:15
Sztywny Temat założony przez niniejszego użytkownika |
» 2015-03-22 16:52:07 Dziękuję bardzo :) Właśnie tego szukałem: graph[ 1 ].front().kolor = 0; Tematu proszę na razie nie zamykać. Jeszcze zapewne wypadnie coś nowego. |
|
Brunon3 |
» 2015-03-22 17:37:46 Gdyby jakiś moderator/admin zamknął ten temat i tak byś mógł go otworzyć.
Taka ciekawostka przyrodnicza.
-BD. |
|
Sztywny Temat założony przez niniejszego użytkownika |
» 2015-03-22 19:29:35 Jednak ten sposób który wg którego chciałem za-reprezentować graf i procedurę BFS okazał się zupełnie bez sensu. Może ktoś miał podobny problem do mojego, jeśli tak to zamieszczam kod źródłowy mojego programu: #include <iostream> #include <list> #include <queue>
using namespace std;
struct vertex { int kolor; int odleglosc; int rodzic; };
int main() { cout << "Ile wierzcholkow w grafie? "; int rozmiar; cin >> rozmiar; vertex wierzcholek[ rozmiar + 1 ]; list < int > graph[ rozmiar + 1 ]; queue < int > kolejka; cout << "Ile krawędzi: "; int m; cin >> m; for( int i = 1; i <= m; i++ ) { int v1, v2; cin >> v1 >> v2; graph[ v1 ].push_back( v2 ); graph[ v2 ].push_back( v1 ); } cout << endl << "Podaj zrodlowy wierzcholek: "; int root; cin >> root; for( int i = 1; i <= rozmiar; i++ ) wierzcholek[ i ].kolor = 0; wierzcholek[ root ].kolor = 1; wierzcholek[ root ].odleglosc = 0; wierzcholek[ root ].rodzic = NULL; kolejka.push( root ); int obecny; while( kolejka.empty() == false ) { obecny = kolejka.front(); kolejka.pop(); for( list < int >::iterator j = graph[ obecny ].begin(); j != graph[ obecny ].end(); j++ ) { if( wierzcholek[ * j ].kolor == 0 ) { wierzcholek[ * j ].kolor = 1; wierzcholek[ * j ].odleglosc = wierzcholek[ obecny ].odleglosc + 1; wierzcholek[ * j ].rodzic = obecny; kolejka.push( * j ); } wierzcholek[ obecny ].kolor = 2; } } cout << endl << endl; for( int i = 1; i <= rozmiar; i++ ) cout << i << ": " << wierzcholek[ i ].odleglosc << endl; return 0; }
|
|
Sztywny Temat założony przez niniejszego użytkownika |
» 2015-03-22 20:59:58 Mam jeszcze jedno ważne pytanie, ale nie związane z tematem jaki założyłem. Jako, że już nie chcę zakładać nowego tematu i śmiecić to napisze tutaj. << removed - właśnie śmiecisz. >> |
|
Brunon3 |
» 2015-03-22 21:10:52 Takie trochę "dziwne" zachowanie moderatora/admina, usuwać tak bez ostrzeżenia? Dalibyście mu czas na skopiowanie CTRL+C-CTRL+V do innego tematu. |
|
pekfos |
» 2015-03-22 21:15:03 Kodu z dysku chyba mu to nie skasowało. Jakby się zapoznał z zasadami, to by nie musiał pisać od nowa tych kilku zdań. |
|
1 « 2 » |