2016-12-22 12 views
1

に複数の値を追加するには、単にバイナリ検索ツリーを習い始め、私の仕事は、私はこのような構造のものでBSTを作ること、が必要です。BST:単一ノード

NODE:(含まれている) - 文字列のstringValue、int型intValue。 ..私は確かに知っている

  1. がどのように私は少なくとも1つの文字列値が存在することを、BSTを実装することができK、しかし未知の数のint値のと?

ユーザーの数を宣言することができます(私は「」NODE「」構造は(だけでなく、コンストラクタ)とどのように挿入/削除がどのように見えるになります...のようになります方法を理解してみたいです) int値。たとえば、ジョンは、3つのint値= ジョン12 5 2(1つのノード)を持つことができます。

+0

'class Node {std :: string stringValue; std :: vector intValues;}; ' –

+0

@IgorTandetnikこの構造体では、ノードnr1です。 "John 2 13 4"またはNode nr1のように見えます。 "Peter 15 1"?また、これが正しい場合、この機会に検索はどのように機能しますか?私がexample1を探すなら、 "Peter"は私にノードnr1を返します。私は "13"(同じノードを返す)を探すだろうか? – DSUP

+0

'Node'は私が定義したように、文字列と任意の数の整数を格納することができます。検索は、あなたがそれを実装する方法で機能します。 –

答えて

0

あなたはvariadic templatesを持つクラスを作成することができます。

template <typename T, typename... U> 
class Node{ 
    public: 
    Node(T nameStr, U... vInput){ 
     name = nameStr; 
     list = {vInput...}; 
    } 
    T name; 
    std::array<int, sizeof...(U)> list; 
}; 

Demoを。

+0

Saurav - この構造によって私のノードnr1。 "John 2 13 4"またはNode nr1のように見えます。 "Peter 15 1"?また、これが正しい場合、この機会に検索はどのように機能しますか?私がexample1を探すなら、 "Peter"は私にノードnr1を返します。私は "13"(同じノードを返す)を探すだろうか? – DSUP

関連する問題