1

我最近查看了用于保存大量数据的链表。但是,我坚持想出一种为链表的链表保存数据的好方法。

以下是我试图完成的伪代码

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 文件时。我可以将一个州下的多所学校分配给一所学校,以此类推。

4

2 回答 2

1

实施始终取决于要解决的问题。如果不进一步了解问题的性质,就很难说您的实施是否是最优的。这绝对是合法的(尽管我会使用实际列表作为成员而不是指向列表的指针——后者似乎没有令人信服的理由)。您的数据是一次写入多次读取吗?您是否希望按顺序阅读所有学生(例如)?您是否打算经常添加新学生?基于这些答案,人们可​​以选择程序中的最佳表示。

尽管如此,上面的伪代码仍然可以工作。

于 2013-11-13T18:07:11.427 回答
0

只是一个小例子:

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 所说,这取决于您要解决的问题。

于 2013-11-13T18:07:26.617 回答