>我最近查看了链表以保存大量数据。但是,我无法想出一种为链表链表保存数据的好方法。
以下是我试图完成的伪代码
struct Student
{
string Name;
}
struct Classroom
{
string Teacher;
<list> Student *student;
};
struct School
{
string School_Name;
<list> Classroom *room;
};
struct State
{
string State_Name;
<list> School *school;
};
我想知道这是否是您在链表中实现链表的方式。因此,当我通读XML文件时。我可以在一个州下分配多所学校,将多个教室分配给一所学校,依此类推。
实现始终取决于您尝试解决的问题。如果不进一步了解问题的性质,就很难说您的实现是否最佳。这绝对是合法的(尽管,我会使用实际列表作为成员而不是指向列表的指针 - 后者似乎没有令人信服的理由)。您的数据写入一次读取多次吗?您是否希望按顺序阅读所有学生(例如)?您是否计划经常添加新学生?基于这些答案,人们可以在程序中选择最佳表示。
尽管如此,上面的伪代码仍然可以工作。
举个小例子:
list<list<int>> MainList; //you create a list that will contain lists
list<int> SecondList; //Let's say that you have an ordinary list
SecondList.push_back(1);
SecondList.push_back(2); //And also let's say that you enter some values in it
//Then you just add that list to the main list
MainList.push_back(SecondList); //Because MainList should contain other lists.
我希望你需要那个。如果我没有正确理解这个问题,我很抱歉。正如@Alexander L. Belikoff所说,这取决于你想解决的问题。