链接列表实施的链接列表

时间:2013-11-13 17:54:34

标签: c++ arrays list struct linked-list

我最近查看了链表以节省大量数据。但是我坚持想出一个保存链表列表链接数据的好方法。

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

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文件时。我可以在一个州下分配多个学校,在一个学校分配多个教室,等等。

2 个答案:

答案 0 :(得分:1)

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

仍然,上面的伪代码可以工作。

答案 1 :(得分: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所说,这取决于你想要解决的问题。