Levin Levin - 23 days ago 8
C Question

Best way how save nodes of graph

I'm trying to solve how save nodes of graph. Every node can have more ancestors and more descendants. Now I have this struct:

struct Node
{
int m_Value;
int m_Index; // end Node in m_Nodes
int m_Length; // actual size of m_Nodes and m_Prev (for realloc)
Node* m_Nodes; // dynamic array (descendants)
Node* m_Prev; // dynamic array (ancestors)
}


I'm not sure if this is the best way. The graph can look like this:

1
2 3
4

Edges: [1,2], [1,3], [2,4], [3,4], [4,1]


Thank you for your opinions.

Answer

You can save edge and point separately.And you need a function to get all edge of one point. so the memory malloc & free operation me be less