Witam 
W programie mam podawane “połączenia krawędzi”. Jest to graf prosty. Tzn. dostaję takie coś na wejście:
2 3
1 4
…
Czyli- krawędź 2 jest połączona z trzecią.
I chcę sobie z tego zrobić listę sąsiedztwa żeby “potraktować to” DFS-em. Tylko jak?
Witam 
W programie mam podawane “połączenia krawędzi”. Jest to graf prosty. Tzn. dostaję takie coś na wejście:
2 3
1 4
…
Czyli- krawędź 2 jest połączona z trzecią.
I chcę sobie z tego zrobić listę sąsiedztwa żeby “potraktować to” DFS-em. Tylko jak?
W przypadku grafów mamy do czynienie z takim opisem tylko linia 2 3 oznacza że wierzchołek 2 jest połączony z wierzchołkiem 3, pewnie to miałeś na myśli. W grafie krawędzie się nie łączą same ze sobą!
No to tworzysz sobie tablicę wskaźników (po jednym dla wierzchołka) i każdy z tych wskaźników wskazuje na początek listy sąsiadów i-tego wierzchołka. To taki chyba najbardziej prosty sposób reprezentacji listy sąsiedztwa 
W najprostszym przypadku będzie to int*, gdy mowa o krawędziach bez wag.
Oczywiście miałem na myśli wierzchołki. Właśnie planuję to wykonać w taki sposób. Nie wiem tylko stworzyć tablicę zawierającą wskaźniki na pierwsze elementy list?
Nie prościej będzie zrobić tablicę wektorów (std::vector)?
no nie wiem, proponujcie 
Jest na to bardzo dużo sposobów np w C++:
vector > T(N);
vector > V(N);
list > L;
I każdy z nich da się przejść DFS’em i to nie są wszystkie możliwości.