木構造データベースの初期化

[戻る]
サマー [E-Mail] [HomePage] 2006/06/22(木) 20:32:13
木構造データベースの初期化のやりかたについておしえていただけないでしょうか。

public ref class a
{
private: b ^ atop;

//コンストラクタ
public:
    a(void)
    {
       atop = (gcnew b());
       atop->SetTopi(1);
       atop->SetTopPrev(atop);
    }
}

public ref class b
{
private: System::String ^ data;
private: a ^ next;
private: a ^ prev;
private: int i;

//コンストラクタ
public:
    a(void)
    {
      this->data = "初期値";
      this->next = (gcnew a());
      this->next->prev = this;
      this->next->i = this->i++;
    }
 
}

クラスaの後ろにクラスb型がいくつもつらなっているイメージです。クラスbも
枝分かれしているイメージです。どうやって初期化していいのかわからないので
教えてください。

επιστημη 2006/06/22(木) 21:47:02
初期化というと、節も枝もない木でしょ。
ならば:

  a^ root = nullptr;

これでおしまいちゃいますの?

サマー [E-Mail] [HomePage] 2006/06/22(木) 23:42:43
クラスbのdataのところにいくぶん初期データがある場合の初期化を考えています。
クラスbのしたにクラスcがある場合とか。

επιστημη 2006/06/23(金) 00:20:16
# そんなこと、最初のスレでは'一言も'述べてないやん。 質問ヘタすぎ。

a^ root = gcnew a();

そのあとroot配下にbを繋ぐpublicメソッドが定義されていないのでムリ。
setNode(b^ node) があるなら、

a^ root = gcnew a();
root->setNode(gcnew b());

以下同様。

summerjun2000 2006/06/23(金) 17:39:10
すいません、自分でもなにを質問したらいいかわかってませんでした。

本当に知りたかったのは、木構造データベースの初期データをどういう
風にしてセットすることができるのかということです。

コードの中にべたで書く以外ないのでしょうか。それともテキストファイル
に構造がわかるようなフォーマットで書いたものを読み込む以外ないで
しょうか?

なにかうまい方法はないでしょうか。

REE 2006/06/23(金) 17:54:02
とりあえず、実装方法の見当がついているようですが、
その方法はどのへんがうまくないのですか?
また、逆にどういう方法ならうまいと思うのですか?

επιστημη 2006/06/23(金) 17:58:08
> コードの中にべたで書く以外ないのでしょうか。それともテキストファイル
> に構造がわかるようなフォーマットで書いたものを読み込む以外ないで
> しょうか?

どっちでもできます。つか、できるように実装します。

summerjun2000 2006/06/23(金) 18:16:12
木構造のデータをファイルにどういう形でもっていたらいいのかが、うまく
イメージできません。なにかいいアイデアはないでしょうか?

//コードの内部イメージ
root--a1--b1---c1
          b2    
      
      a2--b3
          b4
          b5

//ファイルのイメージ
a1,b1,c1
a1,b2
a2,b3
a2,b4
a2,b5

たいちう 2006/06/23(金) 19:11:26
これでよくない?

root,a1
root,a2
a1,b1
a1,b2
b1,c1
a2,b3
a2,b4
a2,b5

他の方法でも、もちろんよいけど。

επιστημη 2006/06/23(金) 19:50:50
<?xml version='1.0' ?>
<node name='root'>
  <node name='a1'>
    <node name='b1'>
      <node name='c1' />
    </node>
    <node name='b2' />
  </node>
  <node name='a2'>
    <node name='b3' />
    <node name='b4' />
    <node name='b5' />
  </node>
<node>

ほんでもってXML-DOMparserに食わせば木構造ができています。

サマー [E-Mail] [HomePage] 2006/06/23(金) 20:04:40
[[解決]]
ありがとうございます。

ためしにやってみます。

古いスレッドには追加発言できません。