Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

c++ STL - dodawanie elementów do grafu

jowyma 17 Lip 2015 17:40 705 4
  • #1 17 Lip 2015 17:40
    jowyma
    Poziom 22  

    Proszę o pomoc z biblioteką STL. Próbuję stworzyć graf jako listę list. Czyli

    #include <list>

    list<list<string, int> > graf;

    Idea jest taka, że tworzę macierz sąsiedztwa - tworzę listę wierzchołków i każdemu wierzchołkowi przyporządkowuję listę z przyległymi wierzchołkami i wagami krawędzi.
    Mój problem jest taki, że nie wiem jak teraz dodawać elementy do takiej struktury ani jak się odwoływać.

    Czy coś takiego ma sens?

    class Graph
    {
    list<list<pair<string, int> > > graf;
    graf.push_back(list<pair<string, int> > a);
    graf.push_back(list<pair <string, int> >b);
    }

    0 4
  • #2 17 Lip 2015 18:27
    -psiak-
    Poziom 32  

    Pomieszało ci się wszystko: listy a mapy, klasy a funkcje.
    Jedyna sensowna rada (każda inna będzie bezsensowna) zacznij od jakiegoś kursu C++.

    0
  • #3 17 Lip 2015 18:29
    jowyma
    Poziom 22  

    Doceniam Twoją pomoc, ale nie obrażaj mnie. Jeżeli już to pomyliło się osobie, która mi kazała takie coś wykonać. Jednym słowem jeżeli rozumiem to nie jest to wykonalne i nie ma sensu.

    0
  • #4 17 Lip 2015 19:05
    -psiak-
    Poziom 32  

    Nie obrażam ciebie, tylko z poziomu doświadczenia wiem że nawet jeżeli ktoś ci podał taki wiersz:

    Kod: c
    Zaloguj się, aby zobaczyć kod
    a ty nie zacząłeś natychmiast wrzeszczeć w niebo głosy, że to totalna bzdura to rada nadal ta sama - "Zacznij od jakiegoś kursu C++."

    Tak a propos, jeżeli stwierdzenie że czegoś nie wiesz jest dla ciebie obrazą to może zaniechaj już jakąkolwiek naukę - bo to dla ciebie strata czasu.


    EDIT: Za wcześnie zamknąłeś wątek, więc piszę tu.

    Należy zauważyć że:
    Kod: c
    Zaloguj się, aby zobaczyć kod
    nie jest tym samym co
    Kod: c
    Zaloguj się, aby zobaczyć kod
    oczywiście nawet nie wspominając o fakcie że nie ma nic wspólnego z STL ani z tym prawdziwym ani z tym który masz na myśli (bo biblioteka standardowa C++ to nie jest STL).
    Jest dwie istotne różnice:
    • w bibliotece standardowej wzorzec list jest pisany z malej litery
    • w bibliotece standardowej nie ma wzorca list który uznał by parametry list<string, int>

    Skoro piszesz: - "dokładny kod jest na jednym z wątków na StackOverflow." - to wypadałoby podać linka.

    1
  • #5 17 Lip 2015 21:39
    jowyma
    Poziom 22  

    Wątek zamykam. Okazało się, że lista list jak najbardziej funkcjonuje i jest stosowana. Oto fragment kodu z przykładowym zastosowaniem.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dziękuję za próby pomocy, dokładny kod jest na jednym z wątków na StackOverflow.

    0