私は、ハフマンツリーのコードワードを作成するメソッドを作成しています。コードワードを取得するノードのシンボルがメソッドに渡されます。私はちょうどそれがint []を返さなければならないことについてこれをどうやって行くのが肯定的ではない。私はうまくいくと思ったものをコーディングしました。 00101などの出力を作成できるように、int []を適切に使用するにはどうすればよいですか?おかげで[OK]をJava:int []メソッドのヘルプは、ハフマンツリーと関連しています。
public int[] codeWordAsAry(int k) {
HuffTreeNode temp;
int[] codeWord;
int pos = 0;
temp = leaves[k];
while (temp.parentOf() != null){
if (temp.isLeftChild()){
codeWord[pos] = 1;
pos++;
}
else { //if isRightChild
codeWord[pos] = 0;
pos++;
}
}
return codeWord; }
ので、私はサイズを初期化する理解が、01011のラインなど他の組み合わせに沿って何かをプリントアウトするために、この方法を使用して、その可能性はイムの増分を行う方法であれば、今私は思ったんだけどint []配列内の正しい位置。何を探しているのでしょうか?
あなたは、あなたの結果の配列に 'int型[]コードワード=新しいint型[10]の線に沿って何かをスペースを割り当てる必要があります;'私はどのようにあなたができるかわかりません正しい長さが何であるかを判断する。 –
戻り値の型をArrayListに変更できますか?それとも、int []のみで行う必要がありますか?私がコードから見ることができるのは、各文字についてハフマンコードの長さが異なるためです...ルートまでトラバースするまでint []サイズを取得することはできません... –
" int []を返すのはなぜですか?宿題? –