私はノードを追加するときとコンソールに順番にツリーを印刷するときに完全に機能する私自身のノードで最初からバイナリ検索ツリーを作った。しかし、私はtoString
メソッドを稼働させるのに1時間半かかることがあります。toString toString
私はtoString
メソッドをMakeString
に変更しました。これは、比較可能な型のデータを文字列に変換するときに混乱していると思ったからです。私は、メソッドを1つのノードまたはオブジェクト形式で返すことができますが、文字列形式のツリー全体を返すことはできません。 printInOrder()
メソッドは完全に機能するので、なぜ私のMakeString()
メソッドはありませんか?
public void printInOrder(){
if (left != null) left.printInOrder();
System.out.println(data);
if (right != null) right.printInOrder();
}
public String MakeString(){
String OrderedTree;
StringBuilder sb = new StringBuilder();
if (data == null) return "Tree is empty";
if (left != null) left.MakeString();
sb.append(data);
if (right != null) right.MakeString();
クラス全体を貼り付けてください。また、あなたは 'left.MakeString()'の結果を使用していません。 –
また、あなたが実際にここにどのようなテキスト出力を表示してください。コンソールにバイナリツリーを印刷することは、コードに関係なく私にとって挑戦的なように見えます。 –
最後の行がありませんが、単にsb.toString()を返します。 – Matt