• 締切済み

C# tree組み換え

treeの組み換えをしたいのですが、まだまだ初心者の自分には糸口が見つからず、アドバイス頂ければ幸いです。 図のような木構造がありまして、wordに入っている要素と同じ要素が出現したときにIDのindentの値を参照し後に出てきたindentが低ければ、そのwordlistを先に出てきたところにくっつけたいです。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

文章の意味が分かりません. ・「wordに入っている『要素』」って何? 「要素」という言葉の意味を説明していないですよ. ・「同じ要素が出現したとき」というのは「どこに」出現したとき? 兄弟限定? それとも遠く離れたところでもいい? ・「IDのindentの値」とはどの「IDのindentの値」のこと? ・「indentが低い」というのは, 値として大きい/小さいのどっち? ・「そのwordlist」とはどれ? ・「先に出てきたところにくっつけたい」とは, 具体的にはどのような操作? 後ろにあるものを切り取って前 (のどこか) に移動する? それとも後ろにあるものはそのままにして前 (のどこか) にコピー? はたまたこれら以外の何か? あと, この「tree」をどのようなデータ構造に入れているのですか?

yamazoooon
質問者

補足

Tacosan様 回答ありがとうございます 返信おそくなり申し訳ありません。 また説明が不十分で失礼いたしました。 wordに入っている『要素』とは、図でいうところのサンプルとIDのことです。 同じ要素が出現、とは遠く離れたところでもよいです。 IDのindentの値とは、もっとも子ノードのIDのindentの値のことです。 indentが低いとは、値として小さいのほうです。 そのwordlistとは、indentが値として小さい値を持つwordの親のwordlistのことです。 先に出てきたところにくっつけたいとは、後ろにあるものを切り取って前のwordlistに移動するです。前のwordlistとは先に出現した要素のwordlistに移動したいと思っています もとのデータはxmlファイルでして、それをツリーノードに変換しています。

関連するQ&A