トップ回答者
DataGridViewで探索木を表現する方法

質問
-
質問させていただきます.
よろしくお願いします.
DataGridViewに以下のデータが入っているとします.
A // dataGridView.Rows[0].Columns[0]
B // dataGridView.Rows[1].Columns[0]
C // dataGridView.Rows[2].Columns[0]
D // dataGridView.Rows[3].Columns[0]
それを以下の順に取り出すとします.
(1) A→B→C
(2) A→B→D
質問は,C#でサポートされていないポインタを利用してDataGridVIewを用いた探索木を作成するのは無理なのでしょうか?
よろしくお願いします.
- 編集済み question_main 2012年2月2日 7:09
回答
-
外池と申します。ご質問の内容で、何が一番強い制約条件なのかがイマイチ不明なので、的外れな回答になるかもしれませんが・・・。
ごくごく一般論として、C#で探索木を表現することは十分に可能です。C#は参照型の変数が標準でサポートされていますので、実質ポインタと同様に、あるオブジェクトが別のオブジェクトを指し示す「構造」を作ることは可能です。
DataGridViewをお使いになりたい理由は、表示上の要求があるからでしょうか? そのあたりもう少しご説明頂けるとレスがつき易いと思います。
ちなみに、私は、探索木の構造を独自に作ることはイメージできますが、DataGridViewをどう使うかはイメージが沸きません。
(ホームページを再開しました) -
質問は,C#でサポートされていないポインタを利用してDataGridVIewを用いた探索木を作成するのは無理なのでしょうか?
無理でしょう。DataGridViewには、ポインタ、またはポインタに代わるものはありません。もし、ポインタがあったとしても、各行にA, B, C, Dという情報しかなければ、そこから探索木を作成することはできません。
何かしらの親子関係の情報を各行に持つ必要があります。例えばデータテーブルにその情報を持つ列を追加し、その情報を元に探索木を生成できます。ご存じだと思いますが、この列をバインドしなければDataGridViewに表示されることはありません。#私もはっきりご質問の内容が見えませんので、最終的に何を実現されたいのかもう少し具体的に書かれるとよいと思います。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
すべての返信
-
外池と申します。ご質問の内容で、何が一番強い制約条件なのかがイマイチ不明なので、的外れな回答になるかもしれませんが・・・。
ごくごく一般論として、C#で探索木を表現することは十分に可能です。C#は参照型の変数が標準でサポートされていますので、実質ポインタと同様に、あるオブジェクトが別のオブジェクトを指し示す「構造」を作ることは可能です。
DataGridViewをお使いになりたい理由は、表示上の要求があるからでしょうか? そのあたりもう少しご説明頂けるとレスがつき易いと思います。
ちなみに、私は、探索木の構造を独自に作ることはイメージできますが、DataGridViewをどう使うかはイメージが沸きません。
(ホームページを再開しました) -
質問は,C#でサポートされていないポインタを利用してDataGridVIewを用いた探索木を作成するのは無理なのでしょうか?
無理でしょう。DataGridViewには、ポインタ、またはポインタに代わるものはありません。もし、ポインタがあったとしても、各行にA, B, C, Dという情報しかなければ、そこから探索木を作成することはできません。
何かしらの親子関係の情報を各行に持つ必要があります。例えばデータテーブルにその情報を持つ列を追加し、その情報を元に探索木を生成できます。ご存じだと思いますが、この列をバインドしなければDataGridViewに表示されることはありません。#私もはっきりご質問の内容が見えませんので、最終的に何を実現されたいのかもう少し具体的に書かれるとよいと思います。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/