に異なる結果について声明をループそれは毎回異なる結果を出力して、私はループにprint文をしようとしています。前提は、私は0から99の乱数で埋まっているバイナリ検索ツリーを持っています。は、今日のJava
私はその後、ランダムなノードを選択し、このランダムなノードに根の長さを取得します。
私は上記の文を何度も繰り返す必要があるが、すべての私のループは、これまでに同じ答えを与えているか、無限ループ。
while(i!=10){
System.out.println(bst.Pathlength(root, random_node));
i++;
}
for (int i = 0;i< 10; i++){
System.out.println(bst.Pathlength(root, random_node));
}
while (true) {
int i = 0;
int j = 1000;
if (i != j) {
System.out.println(bst.Pathlength(root, random_node));
i++;
}else if (i == j){
break;
}
}
上記は私が試したループの選択です(同時にではありません)。 Pastebin link with full programは全体像のための完全なプログラムが含まれています。この上
任意のポインタは「現在、あなたはそれ故に、ループの各反復で同じインスタンスを渡している:)
答えてくれてありがとうしかし、私は私自身の問題を解決することになりました。ランダムなノードセレクタをループの内側に移動するだけです。 – JimmyPop13
@ JimmyPop13あなた自身の問題を解決してくれてうれしいですが、通常はツリー内にツリーを横断する一般的な方法があります。これにリンクを追加しました。既に実装されている一般的なアルゴリズムに従うのがよい方法です。 –