私は学校の課題のために二重リンク リストの独自の実装を作成してNodeおり、リスト クラス内で呼び出される内部ノード クラスを使用しています。これは、相互にリンクされているリスト ノードを表します (リンク リストの場合は通常そうです)。
class DoublyLinkedList<T>
{
class Node
{
T obj;
}
}
多くのノードを持つ大きなリストの場合、各Nodeオブジェクトが親リスト クラスのインスタンスを参照する可能性があるため、それはかなりのオーバーヘッドと最適ではない設計でしょうか? 非静的クラスとして持つと確かに便利です。ノードは親リストfirstとlast参照を変更する可能性があり、カプセル化に最適であることがわかりました。
静的にするNodeと、(リストへの明示的なメンバー参照がなければ) 親リストを操作するために使用できなくなり、firstすべてlast逆からアプローチする必要があります-リストは独自のメソッドを介してノードを割り当てて操作します、つまり、それらを相互にリンクし、リンクを解除して、その値firstとlast値を自然に調整します。
優れた設計と学習のために、 The Smart Thing To Do (c) (ある場合)とは何かを知りたいです。