链表实现的链表

Linked List of Linked List Implementation

本文关键字:链表 实现      更新时间:2023-10-16

>我最近查看了链表以保存大量数据。但是,我无法想出一种为链表链表保存数据的好方法。

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

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