树的数据如何储存
我需要从一个xml文件读取数据,数据为三层树状结构,我读取数据后以什么形式存储才能实现数据的修改、删除、添加等功能。struct A //第一层结点
{
属性1;
属性2;
}
struct B //第二层结点,有n个
{
属性1;
属性2;
}
struct C //第三层结点,每个节点B下有m个
{
属性1;
属性2;
}
如何实现对第二层和第三层数据的操作。节点内属性的增删添改。节点个数的增删添改。
我目前将结构A下面的结构B使用list进行管理,每个结构B再建立一个list去管理结构B下面的结构C。但是感觉效率不高且操作繁琐,虽然数据目前只有三层,但后期可能增加到五六层,有没有什么好的方法给想一个。
我使用的是qt,和c++的mfc差不多,都是图形界面。通过图形界面的操作,对数据进行反写存储,我目前的结构反写删除、插入节点等操作比较复杂,是否有操作更简洁的数据存储的方法。