Use this if you are using igraph from R
Incident vertices of some graph edges
ends(graph, es, names = TRUE)
| graph | The input graph | 
| es | The sequence of edges to query | 
| names | Whether to return vertex names or numeric vertex ids. By default vertex names are used. | 
A two column matrix of vertex names or vertex ids.
Other structural queries: 
[.igraph(),
[[.igraph(),
adjacent_vertices(),
are_adjacent(),
get.edge.ids(),
gorder(),
gsize(),
head_of(),
incident_edges(),
incident(),
is_directed(),
neighbors(),
tail_of()
g <- make_ring(5) ends(g, E(g))