A graph has vertices and edges. That is not "a vector"; there must be the vertices and the edges somehow.
Directed and undirected graphs have different properties.
Which is more of a problem for you: graphs or C++?
Understanding the problem that the program is made to solve or knowing how to implement a solution with particular language?