Zagnieżdżone struktury - wektor list

0

Witam. Mam tak zadeklarowany wektor list :

vector<list<Edge> > AdjList;

Jaki jest sposób odwołania się do poszczególnych elementów danej listy będącej konkretną składową tego wektora?
Pozdrawiam.

1
for(vector<list<Edge> >::iterator y=AdjList.begin();y!=AdjList.end();++y)
  {
   for(list<Edge>::iterator x=y->begin();x!=y->end();++x)
     {
      cout<<x->weight<<' ';
     }
   cout<<endl;
  }
0

Dziękuję i pozdrawiam :)

0

Ten sam program - inny problem. Na podstawie listy sąsiedztwa mam stworzyć tablicę krawędzi. Jest to u mnie tablica struktur typu Edge2:

struct Edge2
{
 int v1;
 int v2;
 int weight;
}; 

Z macierzą sąsiedztwa nie ma problemu - dzięki odpowiednim iteratorom możemy wyeliminować przypadek powtórzenia krawędzi(zarówno w macierzy i liście każda krawędź występuje dwa razy (graf nieskierowany)). Jak tutaj wyeliminować przypadek powtórnego wystąpienia tej samej krawędzi w tablicy? Pozdrawiam.

0

Skoro nie masz problemu z macierzą sąsiedztwa to jaki problem z tablicą krawędzi?
Przecież macierz sąsiedztwa dotyczy tej tablicy krawędzi.

0

Program musi mieć dwie opcje tworzenia tablicy krawędzi, na podstawie macierzy i na podstawie listy muszą być dwie osobne funkcje. (warunki zadania)

1 użytkowników online, w tym zalogowanych: 0, gości: 1