2
私は要素のバイナリツリーを検索し、その要素で始まる行を追加するコードを記述しようとしています。これまでのところ正しい位置を見つけてその位置に追加することができますが、残りの2分木は失われます。バイナリツリーの特定部分をどのように追加することができますか?(Java)ツリーはそのままにしておきますか?
public void add(String addroot, String addleft)
if(root!=nodesearch){
if(root.left!=null){
root=root.left;
add(addroot, addleft);
}
if(root.right!=null){
root=root.right;
add(addroot, addleft);
}
}
else
root=insert();
}
insert()は要素を追加して正常に動作します。助けてくれてありがとう。
これは私が今考えていることです。
private BinaryStringNode local_root = root
public void add()
if(root!=nodesearch){
if(local_root.left!=null){
local_root=local_root.left;
add();
}
if(local_root.right!=null){
local_root=local_root.right;
add();
}
}
else
local_root=insert();
}
local_root = insert()は、local_rootの位置でrootのinsertメソッドを使用しますか?また、local_root = local_root.rightはrootを経由しますか?
いけ変更ルートですちょうど
add(find(s));
を呼び出す合計を取得したいです!一時変数を使用する –一時変数を使用して検索すると、ルートにどのように追加できますか? – anon
あなたのadd関数では、最初にrootを渡すときに関数を呼び出すときに "local_root"の値を渡しますが、ur再帰呼び出しではadd(local_root.right、addroot、addleft)を実行します –