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ファイルを読んだとき。1 つの州の下に複数の学校を割り当てたり、1 つの学校に複数の教室を割り当てたりすることができます。

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 に答える