Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

BFS - czy dobrze napisałem?

Ostatnio zmodyfikowano 2011-12-30 20:31
Autor Wiadomość
matoł115
Temat założony przez niniejszego użytkownika
BFS - czy dobrze napisałem?
» 2011-12-30 20:29:46
Witam! Mógłby ktoś zobaczyć ,czy dobrze BFS napisałem?
C/C++
#include <vector>
#include <iostream>
#include <queue>
using namespace std;
vector < int > a[ 5 ];
queue < int > kolejka;
int color[ 5 ], odleglosc[ 5 ], rodzic[ 5 ];
void BFS( int x )
{
    int i, r;
    kolejka.push( x );
    do
    {
        x = kolejka.front();
        color[ x ] = 1;
        for( i = 0; i < a[ x ].size(); i++ )
        {
            int m = a[ x ][ i ];
            if( color[ m ] == 0 )
            {
                kolejka.push( m );
                color[ m ] = 1;
                rodzic[ m ] = x;
                odleglosc[ m ] = odleglosc[ x ] + 1;
            }
        }
        color[ x ] = 2;
        kolejka.pop();
    } while( kolejka.size() != 0 );
   
}
int main()
{
    int i, k, x, y;
    for( i = 0; i < 5; i++ )
    {
        color[ i ] = 0;
        odleglosc[ i ] = 0;
        rodzic[ i ] =- 1;
    }
    cin >> k;
    for( i = 0; i < k; i++ )
    {
        cin >> x >> y;
        x--;
        y--;
        a[ x ].push_back( y );
        a[ y ].push_back( x );
    }
    BFS( 0 );
    for( i = 0; i < 5; i++ )
    {
        cout << "W: " << i + 1 << " ODL " << odleglosc[ i ] << " rodzic " << rodzic[ i ] + 1 << endl;
    }
    return 0;
}
P-46718
pekfos
» 2011-12-30 20:30:55
jak działa, to dobrze -.-
P-46719
matoł115
Temat założony przez niniejszego użytkownika
» 2011-12-30 20:31:23
Czyli dobrze;p
P-46720
« 1 »
  Strona 1 z 1