Abstract Data Type of a graph in C