Я пытаюсь создать смежное ist представление графа в C, используя следующие определения ...
typedef struct edge
{
int to_vertex;
int weight;
} Edge;
typedef struct edgeNode
{
Edge edge;
struct edgeNode *next;
} *EdgeNodePtr;
typedef struct edgeList
{
EdgeNodePtr head;
} EdgeList;
typedef struct graph
{
int V;
EdgeList *edges;
} Graph;
Основная функция для создания и добавления всех значений в графе -
int numEdges;
int edgeToVertex;
int weight;
EdgeNodePtr new_node;
Graph G;
EdgeNodePtr current;
int *inDeg;
scanf("%d", &G.V);
G.edges = malloc(G.V * sizeof(EdgeList));
for (int i = 0; i < G.V; i++)
{
scanf("%d", &numEdges);
G.edges[i].head = NULL;
for (int j = 0; j < numEdges; j++)
{
new_node = malloc(sizeof(*new_node));
scanf("%d,%d", &edgeToVertex, &weight);
new_node->edge.to_vertex = edgeToVertex;
new_node->edge.weight = weight;
new_node->next = G.edges[i].head;
new_node = G.edges[i].head;
}
}
По какой-то причине я не могу понять, что график не будет создан, и я попытался запустить его, и он добавит узел, но узел всегда будет таким же.Любая помощь приветствуется