私が取り組んでいる課題を例にとってみましょう。データセットの1つの部分に対してバイナリ検索ツリーを使用し、次にセット内の別の部分に対してリンクリストを使用します。教授が提案した方法は次のとおりです。
struct treeNode
{
data * item;
treeNode *left, *right;
};
struct listNode
{
data * item;
listNode *next, *prev;
};
class collection
{
public:
........
}
ここで、dataは、各レコードの詳細を含むクラスです。明らかに、設定されているため、treeNodeはリンクリストに存在できません。
次のことははるかに簡単ではないでしょうか。
struct node
{
data * item;
node *listNext, *listPrev, *treeLeft, *treeRight;
};
次に、次のように宣言できます。
node * listHead;
node * treeRoot;
両方の挿入アルゴリズムをクラスに含めます。
足りないものはありますか?