现有三个数据类
class CNode
{
int m_nNodeID;
float x,y,z;
}
class CEdge
{
int m_nEdgeID;
CNode *m_pNode[2];
}
class CTriangle
{
int m_nPolygonID;
Cnode *m_pNode[3];
CEdge *m_pEdge[3];
}分别有三个链表,点,线,面类链表用于存储地质空间数据。为了解决其存储和读取(使用Aceess数据库),我在内存中分别独立建立三个表,用唯一的点,线ID来代替指针存储,保持拓扑关系。但是当从数据库中把信息读出来,建立数据链表的时候,为线链表添加一个结点,就要搜索点链表两遍,通过查找ID,来建立指针关系,而为面链表添加一个结点,就要搜索点链表三遍,边链表三遍,来建立指针关系。这种方法,效率实在低的惨不忍睹,不知道那位高手,有没有比较好的办法解决这个问题呢?