我试图解决如何保存图表的节点。每个节点都可以拥有更多的祖先和更多的后代。现在我有了这个结构:
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)
}
我不确定这是不是最好的方法。图表看起来像这样:
1
2 3
4
Edges: [1,2], [1,3], [2,4], [3,4], [4,1]
感谢您的意见。
答案 0 :(得分:0)
你可以单独保存边缘和点。你需要一个函数来获得一个点的所有边缘。所以内存malloc&自由操作我少了