StartStruktury danychKlasyczneGrafy i ich reprezentacjeImplementacja w C/C++
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Grafy i ich reprezentacje - Implementacja w C/C++
Ocena użytkownikóww: +++++  / 3
Słaby Świetny
Nadesłany przez Piotr Skoczylas
sobota, 24 września 2011 18:32
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

grafy_1_c.cpp:
// Reprezentacja grafu, za pomoca listy incydencji, gdzie liste zastapiono typem vector
// www.algorytm.org

#include<iostream>
#include<vector>

using namespace std;

int main()
{
    int V, E;     // V - liczba wierzcholkow, E - liczba krawedzi
    cout << "Liczba wierzcholkow: ";
    cin >> V;
    cout << "Liczba krawedzi: ";
    cin >> E;

    vector<int> *ZA = new vector<int>[V+1];    // mozna tez wykorzystac liste, nie ma to roznicy

    for(int i=1; i<=E; i++)       // wprowadz wierzcholki i krawedzie
    {
        int a, b;
        cout << "Krawedz " << i << ": ";
        cin >> a >> b;
        ZA[a].push_back(b);
        ZA[b].push_back(a);
    }

    for(int i=1; i<=V; i++)     // wypisujemy graf
    {
        cout << endl << "Sasiedzi wierzcholka " << i << ": ";
        for(vector<int>::iterator it = ZA[i].begin(); it != ZA[i].end(); ++it) cout << *it << ", ";
    }

    delete []ZA;     // zwalniamy pamiec
}

Dodaj komentarz

Kod antysapmowy
Odśwież